Connect your AI Agents to Checkly in minutes

Merge lets you securely connect your agents to Checkly and thousands of tools instantly

Available tools

get_current_account

Retrieve the Checkly account this connection acts on, with its plan and default runtime. Use this to confirm which account subsequent calls will affect.

list_accounts

List every Checkly account this API key can reach. Use getcurrentaccount for just the account the connection is configured against.

list_account_members

List the people with access to the current Checkly account, with their roles. Use this to find the user IDs and emails behind alert subscriptions.

list_alert_channels

List the destinations Checkly sends alerts to, such as email, Slack and webhooks. Use this before subscribing a check to a channel, and getalertchannel for one channel's full config. Returns pageinfo.nextpage for the following page.

get_alert_channel

Retrieve one alert channel by ID, with its type-specific config. Use listalertchannels to find channel IDs.

create_alert_channel

Create an alert destination. The config keys depend on type: EMAIL takes address, SLACK and WEBHOOK take url, SMS and CALL take number. Returns the new channel's id. Checks are attached to a channel through their own alert settings, not from here.

update_alert_channel

Update an alert channel's config or which alert kinds it receives. Checkly applies a partial update, so fields you omit keep their current values. Use listalertchannels to find channel IDs.

delete_alert_channel

Permanently delete an alert channel. Checks subscribed to it stop sending alerts there. Use listalertchannels to find channel IDs.

list_check_alerts

List alerts Checkly has raised across every check, newest first, optionally limited to a date range. Use this to review recent incidents; use listcheckresults for a single check's full run history.

list_check_groups

List check groups, which hold shared locations, runtime and alert settings for a set of checks. Filter by tag or by exact name. Use listcheckgroupchecks to see a group's members. Returns pageinfo.next_page for the following page.

get_check_group

Retrieve one check group by ID, with its shared settings. Use listcheckgroups to find group IDs.

list_check_group_checks

List the checks that belong to one check group. Use listcheckgroups to find group IDs. Returns pageinfo.nextpage for the following page.

create_check_group

Create a check group so several checks share locations, runtime and alert settings. Use listlocations for location codes and listruntimes for runtime IDs. Returns the new group's id.

update_check_group

Update a check group. Checkly applies a partial update, so fields you omit keep their current values. Use listcheckgroups for group IDs and list_locations for location codes.

delete_check_group

Permanently delete a check group. Checks in the group are not deleted; they lose the group's shared settings. Use listcheckgroups to find group IDs.

list_check_results

List recorded runs of one check, newest first, filtered by location, failure state, result type and time window. Defaults to the last 6 hours. Use listchecks to find check IDs and getcheck_result for one run's full detail.

get_check_result

Retrieve one recorded check run in full, including timings and per-assertion detail. Use listcheckresults to find result IDs for a check.

list_checks

List monitoring checks, newest first, with server-side filtering by type, name, tag, status and API-check URL. Use this to browse or find a check; use getcheck once you have an ID. Returns pageinfo.next_page for the following page.

get_check

Retrieve one check by ID, including its schedule, locations and request or heartbeat configuration. Use list_checks to find check IDs.

create_api_check

Create an API check that sends an HTTP request on a schedule and asserts on the response. Needs locations unless groupid names a group that already has them: use listlocations for codes, listcheckgroups for group IDs, list_runtimes for runtime IDs. Returns the new check's id.

create_heartbeat_check

Create a heartbeat check that alerts when a scheduled job stops pinging Checkly. The response carries the ping URL the job should call. Use listcheckgroups for group IDs. Returns the new check's id.

update_check

Update a check. Checkly applies a partial update, so fields you omit keep their current values. Use listchecks for check IDs, listlocations for location codes and listcheckgroups for group IDs.

delete_check

Permanently delete a check and its run history. Use list_checks to find check IDs. This cannot be undone.

list_maintenance_windows

List maintenance windows, the scheduled periods in which Checkly pauses checks and silences their alerts. Use getmaintenancewindow for one window's full schedule. Returns pageinfo.nextpage for the following page.

get_maintenance_window

Retrieve one maintenance window by ID, with its schedule and the tags it applies to. Use listmaintenancewindows to find window IDs.

create_maintenance_window

Create a maintenance window so checks are paused and alerts silenced during planned work. Scope it to checks carrying the given tags. Returns the new window's id.

update_maintenance_window

Update a maintenance window's schedule or the tags it applies to. Checkly applies a partial update, so fields you omit keep their current values. Use listmaintenancewindows to find window IDs.

delete_maintenance_window

Permanently delete a maintenance window, so the checks it covered are no longer paused during it. Use listmaintenancewindows to find window IDs.

list_locations

List the public locations Checkly can run checks from. Call this before createapicheck or createcheckgroup to get valid region codes for their locations field.

list_runtimes

List the runtime versions checks can execute on, with their Node.js version and bundled packages. Call this before createapicheck or createcheckgroup to get a valid runtime_id.

get_runtime

Retrieve one runtime by ID, including every package version it bundles. Use list_runtimes to find valid runtime IDs.

list_static_ips

List the IPv4 addresses Checkly's public runners send traffic from, for allowlisting a monitored endpoint's firewall.

get_reporting

Get aggregated success rates and response-time percentiles per check over a window. Pass quickrange for a preset window or fromdate and todate for a custom one, and filterby_tags to narrow the checks covered.

list_snippets

List reusable JavaScript snippets that checks can run as setup or teardown steps. Use this to find a snippet ID before attaching it to a check. Returns pageinfo.nextpage for the following page.

get_snippet

Retrieve one snippet by ID, including its full script. Use list_snippets to find snippet IDs.

create_snippet

Create a reusable JavaScript snippet that checks can run as a setup or teardown step. Returns the new snippet's id.

update_snippet

Update a snippet's name or script. Checkly applies a partial update, so fields you omit keep their current values. Use list_snippets to find snippet IDs.

delete_snippet

Permanently delete a snippet. Checks that reference it will fail until they are updated. Use list_snippets to find snippet IDs.

validate_credential

Validate the Checkly API key and account ID with a lightweight account lookup. Both values are required: a call carrying only the key is rejected because it does not say which account to act on.

list_variables

List account-level environment variables that checks can read at runtime. Use this to find a variable key before reading or updating it. Returns pageinfo.nextpage for the following page.

get_variable

Retrieve one environment variable by key. Variables stored as secrets come back without their value. Use list_variables to find keys.

create_variable

Create an account-level environment variable that checks can read at runtime. The key is the identifier and cannot be changed later. Set secret to store it write-only.

update_variable

Replace an environment variable's value. The key itself cannot be changed; delete and recreate the variable to rename it. Use list_variables to find keys.

delete_variable

Permanently delete an environment variable. Checks that read it will fail until they are updated. Use list_variables to find keys.

View all tools by creating a free accountSee more tools

How to set up Merge Agent Handler

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}
11
Copy Code

Open 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}
Copy Code
Copied!

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  }
Copy Code

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}
Copy Code

FAQs on using Merge's Checkly  MCP server

FAQs on using Merge's Checkly  MCP server

Explore other MCP servers built and managed by Merge

gmail
Gmail
goldcast
Goldcast
gong
Gong
google_ads
Google Ads
google_analytics
Google Analytics
google_bigquery
Google BigQuery
google_calendar
Google Calendar
google_docs
Google Docs
google_drive
Google Drive
google_maps
Google Maps
google_meet
Google Meet
google_sheets
Google Sheets
google_slides
Google Slides
google_tasks
Google Tasks
grafana
Grafana
granola
Granola
greenhouse
Greenhouse
guru
Guru
hex
Hex
hibob
HiBob
hubspot
HubSpot
intercom
Intercom
jamf
Jamf Pro
jenkins
Jenkins

Ready to try it out?

Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now