Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Axiom MCP server

Vendor MCP
Open markdown

The Axiom MCP connector routes your AI agent's tool calls to Axiom's own MCP server through Scalekit. Each user signs in to Axiom once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 26 tools.

Tools
26
What they doRead · write · destructive
15 · 8 · 315 read8 write3 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Axiom MCP connection

    In AgentKit > Connections, create an Axiom MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Axiom MCP server, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'axiommcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Axiom MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'axiommcp_check_monitors',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • axiommcp_check_monitorsList all monitors and their current status, showing which are firing or healthy.Read-only

    CheckMonitors

    List all monitors and their current status, showing which are firing or healthy.

    Inputs

    This tool takes no inputs.

  • axiommcp_export_dashboardExport a dashboard configuration as JSON for backup or sharing.Read-only

    ExportDashboard

    Export a dashboard configuration as JSON for backup or sharing.

    Inputs

    dashboardUidstringrequired
    The dashboard UID (stable external identifier). You can find UIDs using the `listDashboards()` tool.
  • axiommcp_get_dashboardGet details and configuration of a specific dashboard by ID.Read-only

    GetDashboard

    Get details and configuration of a specific dashboard by ID.

    Inputs

    dashboardIdstringrequired
    The dashboard UID. You can find a list of dashboards using the `listDashboards()` tool.
  • axiommcp_get_dataset_fieldsList all fields in an events or traces dataset.Read-only

    GetDatasetFields

    List all fields in an events or traces dataset. Use this to understand the schema before writing APL queries. Do not use for otel-metrics-v1 datasets — use listMetrics() instead.

    Inputs

    datasetNamestringrequired
    The dataset name.
  • axiommcp_get_metric_tag_valuesGet all values for a specific tag within a metrics dataset (kind otel-metrics-v1) over a given time range.Read-only

    GetMetricTagValues

    Get all values for a specific tag within a metrics dataset (kind otel-metrics-v1) over a given time range. Useful for discovering filter values before querying with queryMetrics.

    Inputs

    datasetNamestringrequired
    The dataset name. You can find an list of datasets using the `listDatasets()` tool.
    tagstringrequired
    The tag name to list values for.
    endTimestring
    End time for the query range. A fixed (RFC3339) or relative (now, now-5m) time value. Defaults to "now".default now
    startTimestring
    Start time for the query range. A fixed (RFC3339) or relative (now, now-5m) time value. Defaults to "now-30m".default now-30m
  • axiommcp_get_monitor_historyGet the alert history for a specific monitor, including when it fired and resolved.Read-only

    GetMonitorHistory

    Get the alert history for a specific monitor, including when it fired and resolved.

    Inputs

    monitorIdstringrequired
    The monitor ID. You can find an list of monitors using the `checkMonitors()` tool.
    endTimestring
    End time for the query range. A fixed (RFC3339) or relative (now, now-5m) time value. Defaults to "now".default now
    startTimestring
    Start time for the query range. A fixed (RFC3339) or relative (now, now-5m) time value. Defaults to "now-30m".default now-30m
  • axiommcp_get_saved_queriesList all saved APL queries in the Axiom workspace.Read-only

    GetSavedQueries

    List all saved APL queries in the Axiom workspace.

    Inputs

    This tool takes no inputs.

  • axiommcp_list_dashboardsList all dashboards in the Axiom workspace.Read-only

    ListDashboards

    List all dashboards in the Axiom workspace.

    Inputs

    This tool takes no inputs.