Connectors · Observability & analytics
Axiom MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Axiom and the rest of your systems. It gives your agent 92 Axiom actions (41 reads, 35 writes and 16 that wait for a confirmation) and holds the Axiom credential itself, so the agent never does. It paces Axiom's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "axiom.users.list", intent: "check which Axiom account is connected"}# Lists all members of the organization, including each member's role · read · 1 upstream call- 92actionsin one signed file
- 41readlook, never change
- 35writecreate and update
- 16wait for a yesdestructive, confirmed first
Set up
Connect Axiom in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Axiom.
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
api_tokenAxiom API token (Settings > API tokens; starts with xaat-) or personal access token (Profile > Personal tokens;…edge_domainWhere your Axiom lives: your edge domainorg_idYour Axiom org id
account { op: "connections.requirements", service: "axiom" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "axiom.users.list" }# lists all members of the organization, including each member's role · read · 1 upstream callcheck { action: "axiom.users.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Axiom at a glance
- Sign-in
- Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
api_token- Setup fields
edge_domainorg_id- Limits we pace to
- 600 calls a minute, per connection
- API covered
- Axiom REST API v1 + v2 and edge ingest/query v1 (OpenAPI 3)
us-east-1.aws.edge.axiom.co - Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 39 of 41 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 6, so ask can line Axiom up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Axiom.
92 actions in 21 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 41readlook, never change
- 35writecreate and update
- 16destructivewait for a confirmation
Datasets
72 read · 3 write · 2 destructive
Get list of datasets · Create dataset · Get dataset by ID · Update dataset
Dashboards
62 read · 3 write · 1 destructive
List dashboards · Create dashboard · Get dashboard · Update dashboard
Metrics info
66 read · 0 write · 0 destructive
Lists the metric names in a metrics dataset between `start` and `end` · Finds the metrics in a metrics dataset that carry a tag with the given `value` between `start` and `end` · Lists the values of a tag on one metric in a metrics dataset between `start` and `end` · Lists the tag names used by a metric in a metrics dataset between `start` and `end`
Monitors
63 read · 2 write · 1 destructive
Lists monitors in the organization, sorted by name · Creates a monitor · Retrieves a monitor by ID · Replaces a monitor's configuration with the request body, so omitted fields reset to their defaults
Annotations
52 read · 2 write · 1 destructive
Creates an annotation on one or more existing datasets · Lists annotations in the organization · Retrieves an annotation by its ID · Updates an annotation
Dataset fields
52 read · 1 write · 2 destructive
Lists the fields in the schema of a dataset with their type, unit, description, and hidden setting · Retrieves a field in the schema of a dataset by its name · Updates the `unit`, `description`, and `hidden` settings of a field · Delete a field from a dataset
Groups
52 read · 2 write · 1 destructive
List all groups · Create group · Get group by ID · Update group
Notifiers
52 read · 2 write · 1 destructive
Lists all notifiers in the organization, sorted by name · Creates a notifier · Retrieves a notifier by ID · Replaces a notifier's name, channel `properties`, and `disabledUntil` with the request body, so omitted fields are cleared
13 more areas · 47 actions
- Orgs 5
- Roles 5
- Starred queries 5
- Tokens 5
- Users 5
- Views 5
- Virtual fields 5
- Map fields 4
- Edge queries 2
- Queries 2
- User 2
- Edge ingest 1
- Ingest 1
Top actions
The Axiom API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 56 of Axiom's 57 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
axiom.users.listLists all members of the organization, including each member's role | Lists all members of the organization, including each member's role. | read | identity.user.list474 connectors |
axiom.groups.listList all groups | List all groups. | read | identity.group.list262 connectors |
axiom.roles.listList all roles | List all roles. | read | identity.role.list184 connectors |
axiom.user.getRetrieves the user who owns the personal access token (PAT) used to authenticate | Retrieves the user who owns the personal access token (PAT) used to authenticate. | read | identity.current_user.get307 connectors |
axiom.users.createAdds a user to the organization with the given role and sends them an invite email | Adds a user to the organization with the given role and sends them an invite email. | write | identity.user.create262 connectors |
axiom.groups.createCreate group | Create group. | write | identity.group.create205 connectors |
axiom.roles.createCreate role | Create role. | write | identity.role.create105 connectors |
axiom.users.removeRemoves a user from the organization without deleting their Axiom account | Removes a user from the organization without deleting their Axiom account. | destructive | identity.user.delete253 connectors |
axiom.datasets.listGet list of datasets | Get list of datasets. | read | analytics.dataset.list28 connectors |
axiom.monitors.listLists monitors in the organization, sorted by name | Lists monitors in the organization, sorted by name. | read | monitoring.monitor.list32 connectors |
axiom.monitors.createCreates a monitor | Creates a monitor. | write | monitoring.monitor.create27 connectors |
axiom.tokens.createCreates an API token and returns its secret `token` value, which you can't retrieve again | Creates an API token and returns its secret `token` value, which you can't retrieve again. | write | identity.api_key.create100 connectors |
Try it
Prompts to paste into Claude.
Each one names the Axiom actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Who has access in Axiom? List every user and their role.
calls
axiom.users.list - Writewrite
Adds a user to the organization with the given role and sends them an invite email in Axiom. Show me exactly what you will send before you save it.
calls
axiom.users.create
Governance for Axiom
Destructive actions wait for a yes.
16 Axiom actions are destructive. These are all of them:
- Removes a user from the organization without deleting their Axiom account
axiom.users.remove - Delete group
axiom.groups.delete - Delete role
axiom.roles.delete - Permanently deletes a monitor and removes its label assignments
axiom.monitors.delete - Permanently deletes an API token so it can no longer authenticate requests
axiom.tokens.delete - Permanently deletes a notifier and removes its label assignments
axiom.notifiers.delete - Delete dataset
axiom.datasets.delete - Delete dashboard
axiom.dashboards.delete - Deletes a saved query by its ID
axiom.starred_queries.delete - Delete a field from a dataset
axiom.dataset_fields.delete - Deletes a view by its name
axiom.views.delete - Trim dataset by duration
axiom.datasets.trim - Removes a field from the map fields of a dataset
axiom.map_fields.delete - Deletes an annotation by its ID
axiom.annotations.delete - Deletes a virtual field by its ID
axiom.virtual_fields.delete - Delete fields from a dataset
axiom.dataset_fields.delete_many
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Removes a user from the organization without deleting their Axiom account?
intent: the user asked me to removes a user from the organization without deleting their Axiom account
account { op: "keys.create", name: "axiom-agent", allowed_actions: ["axiom.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "axiom.users.remove", approver: "[email protected]" }, { match: "axiom.groups.delete", approver: "[email protected]" }, { match: "axiom.roles.delete", approver: "[email protected]" } ]}Cost
What Axiom costs on actionlake.
Every Axiom action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Axiom refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 92 Axiom actions
- 92actions pageeach page of a long list is one call
- 39reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Axiom action.
92 actions by area: the id your agent calls, what it does, and its effect.
Datasets7
axiom.datasets.createCreate datasetwriteaxiom.datasets.deleteDelete datasetdestructiveaxiom.datasets.getGet dataset by IDreadaxiom.datasets.listGet list of datasetsreadaxiom.datasets.trimTrim dataset by durationdestructiveaxiom.datasets.updateUpdate datasetwriteaxiom.datasets.vacuumQueues a job that rebuilds the field schema of a dataset from its stored events, removing fields that no longer occur in any eventwrite
Dashboards6
axiom.dashboards.createCreate dashboardwriteaxiom.dashboards.deleteDelete dashboarddestructiveaxiom.dashboards.getGet dashboardreadaxiom.dashboards.listList dashboardsreadaxiom.dashboards.patch_chartPatch dashboard chartwriteaxiom.dashboards.updateUpdate dashboardwrite
Metrics info6
axiom.metrics_info.find_metricsFinds the metrics in a metrics dataset that carry a tag with the given `value` between `start` and `end`readaxiom.metrics_info.list_metric_tag_valuesLists the values of a tag on one metric in a metrics dataset between `start` and `end`readaxiom.metrics_info.list_metric_tagsLists the tag names used by a metric in a metrics dataset between `start` and `end`readaxiom.metrics_info.list_metricsLists the metric names in a metrics dataset between `start` and `end`readaxiom.metrics_info.list_tag_valuesLists the values of a tag across all metrics in a metrics dataset between `start` and `end`readaxiom.metrics_info.list_tagsLists the tag names that occur in a metrics dataset between `start` and `end`read
Monitors6
axiom.monitors.createCreates a monitorwriteaxiom.monitors.deletePermanently deletes a monitor and removes its label assignmentsdestructiveaxiom.monitors.getRetrieves a monitor by IDreadaxiom.monitors.historyLists the notifications sent for the monitor between `startTime` and `endTime`readaxiom.monitors.listLists monitors in the organization, sorted by namereadaxiom.monitors.updateReplaces a monitor's configuration with the request body, so omitted fields reset to their defaultswrite
Annotations5
axiom.annotations.createCreates an annotation on one or more existing datasetswriteaxiom.annotations.deleteDeletes an annotation by its IDdestructiveaxiom.annotations.getRetrieves an annotation by its IDreadaxiom.annotations.listLists annotations in the organizationreadaxiom.annotations.updateUpdates an annotationwrite
Dataset fields5
axiom.dataset_fields.deleteDelete a field from a datasetdestructiveaxiom.dataset_fields.delete_manyDelete fields from a datasetdestructiveaxiom.dataset_fields.getRetrieves a field in the schema of a dataset by its namereadaxiom.dataset_fields.listLists the fields in the schema of a dataset with their type, unit, description, and hidden settingreadaxiom.dataset_fields.updateUpdates the `unit`, `description`, and `hidden` settings of a fieldwrite
Groups5
axiom.groups.createCreate groupwriteaxiom.groups.deleteDelete groupdestructiveaxiom.groups.getGet group by IDreadaxiom.groups.listList all groupsreadaxiom.groups.updateUpdate groupwrite
Notifiers5
axiom.notifiers.createCreates a notifierwriteaxiom.notifiers.deletePermanently deletes a notifier and removes its label assignmentsdestructiveaxiom.notifiers.getRetrieves a notifier by IDreadaxiom.notifiers.listLists all notifiers in the organization, sorted by namereadaxiom.notifiers.updateReplaces a notifier's name, channel `properties`, and `disabledUntil` with the request body, so omitted fields are clearedwrite
Orgs5
axiom.orgs.createCreates an organization on the Personal plan with the authenticated user as its ownerwriteaxiom.orgs.getRetrieves an organization the authenticated user is a member of, including its plan and license limitsreadaxiom.orgs.listLists the organizations the authenticated user is a member ofreadaxiom.orgs.provisionProvision a temporary organization for an agentwriteaxiom.orgs.updateRenames an organization and returns the updated organizationwrite
Roles5
axiom.roles.createCreate rolewriteaxiom.roles.deleteDelete roledestructiveaxiom.roles.getGet role by IDreadaxiom.roles.listList all rolesreadaxiom.roles.updateUpdate rolewrite
Starred queries5
axiom.starred_queries.createSaves an APL query for the authenticated userwriteaxiom.starred_queries.deleteDeletes a saved query by its IDdestructiveaxiom.starred_queries.getRetrieves a saved query by its IDreadaxiom.starred_queries.listLists saved APL queries on datasets you can read, sorted by namereadaxiom.starred_queries.updateReplaces the `name`, `dataset`, `query`, and `metadata` of a saved querywrite
Tokens5
axiom.tokens.createCreates an API token and returns its secret `token` value, which you can't retrieve againwriteaxiom.tokens.deletePermanently deletes an API token so it can no longer authenticate requestsdestructiveaxiom.tokens.getRetrieves an active API token by IDreadaxiom.tokens.listLists the organization's active API tokensreadaxiom.tokens.regenerateCreates a new API token with the existing token's capabilities, or with those in `newToken`, and returns its secret valuewrite
Users5
axiom.users.createAdds a user to the organization with the given role and sends them an invite emailwriteaxiom.users.getRetrieves a member of the organization by user ID, including their rolereadaxiom.users.listLists all members of the organization, including each member's rolereadaxiom.users.removeRemoves a user from the organization without deleting their Axiom accountdestructiveaxiom.users.update_roleChanges the role of a member of the organization and returns the updated userwrite
Views5
axiom.views.createCreates a view, a named APL query that you can query like a datasetwriteaxiom.views.deleteDeletes a view by its namedestructiveaxiom.views.getRetrieves a view by its namereadaxiom.views.listLists the views in the organization, including views shared with it by other organizationsreadaxiom.views.updateReplaces the `aplQuery` and `description` of a view, identified by its namewrite
Virtual fields5
axiom.virtual_fields.createCreates a virtual field on a datasetwriteaxiom.virtual_fields.deleteDeletes a virtual field by its IDdestructiveaxiom.virtual_fields.getRetrieves a virtual field by its IDreadaxiom.virtual_fields.listLists the virtual fields of a dataset, ordered by creation timereadaxiom.virtual_fields.updateReplaces all fields of a virtual fieldwrite
Map fields4
axiom.map_fields.createConfigures a field as a map fieldwriteaxiom.map_fields.deleteRemoves a field from the map fields of a datasetdestructiveaxiom.map_fields.listLists the names of the fields configured as map fields in a datasetreadaxiom.map_fields.replaceReplaces the list of map fields in a datasetwrite
Edge queries2
axiom.edge_queries.aplRuns an APL query against datasets in this edge deployment and returns the result in the requested `format`readaxiom.edge_queries.mplRuns an MPL query against metrics datasets in this edge deploymentread
Queries2
axiom.queries.aplRuns an APL query through `api.axiom.co` and returns the result in the requested `format`readaxiom.queries.legacyRuns a structured (non-APL) query against a datasetread
User2
axiom.user.getRetrieves the user who owns the personal access token (PAT) used to authenticatereadaxiom.user.updateUpdates the name of the user who owns the personal access token (PAT) used to authenticatewrite
Edge ingest1
axiom.edge_ingest.eventsIngests JSON, NDJSON, or CSV events into an events or logs dataset in this edge deploymentwrite
Ingest1
axiom.ingest.eventsIngests JSON, NDJSON, CSV, or Logplex events into an events or logs dataset through `api.axiom.co`write
Questions
The Axiom MCP server, answered.
Is there an Axiom MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 92 Axiom actions across datasets, dashboards, metrics info and monitors, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Axiom.
What do I need to connect Axiom?
Axiom API token (Settings > API tokens; starts with xaat-) or personal access token (Profile > Personal tokens;…. Plus your edge domain and your org id. The free call account { op: "connections.requirements", service: "axiom" } lists exactly what to paste.
Can an AI agent delete or change things in Axiom?
Only if its key allows it, and only with an explicit confirmation. 16 Axiom actions are destructive, including removes a user from the organization without deleting their Axiom account, delete group and delete role. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Axiom API limit?
actionlake paces every call to the limits in the Axiom service file: 600 calls a minute per connection. Repeated reads are answered from cache (39 Axiom actions can be), which never reaches Axiom.
What does an Axiom action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (92 Axiom actions page). Cache hits, searches, dry runs and calls Axiom refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Axiom API does it cover?
The Axiom REST API v1 + v2 and edge ingest/query v1 (OpenAPI 3) at us-east-1.aws.edge.axiom.co by default, or the base URL set when you connect. It is built from Axiom's documentation as read on 23 October 2026. 92 actions in 21 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Axiom data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Axiom credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Axiom today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.