Connectors · Developer & infrastructure
Elasticsearch MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Elasticsearch and the rest of your systems. It gives your agent 711 Elasticsearch actions (363 reads, 256 writes and 92 that wait for a confirmation) and holds the Elasticsearch credential itself, so the agent never does. It paces Elasticsearch'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: "elasticsearch.cat.nodes", intent: "check which Elasticsearch account is connected"}# Get node information · read · 1 upstream call- 711actionsin one signed file
- 363readlook, never change
- 256writecreate and update
- 92wait for a yesdestructive, confirmed first
Set up
Connect Elasticsearch 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 Elasticsearch.
API key. 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_keyElasticsearch API key, the base64 `encoded` value (Kibana > Stack Management > API keys > Create API key, or POST…hostWhere your Elasticsearch lives: your host
account { op: "connections.requirements", service: "elasticsearch" } # 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: "elasticsearch.cat.nodes" }# get node information · read · 1 upstream callcheck { action: "elasticsearch.nodes.reload_secure_settings", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Elasticsearch at a glance
- Sign-in
- API key. 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_key- Setup fields
host- Limits we pace to
- 600 calls a minute, per connection
- API covered
- Elasticsearch REST API 9.x (elasticsearch-specification main), at your Elasticsearch instance's API base URL, which you enter when connecting
- Built from
- Elasticsearch's documentation, read 22 October 2026OpenAPI spec (GitHub)
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- Not cached: every read goes to the vendor
- Shared entities
- 2, so ask can line Elasticsearch up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Elasticsearch.
711 actions in 39 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 363readlook, never change
- 256writecreate and update
- 92destructivewait for a confirmation
Indices
9755 read · 32 write · 10 destructive
Create an index · Roll over to a new index · Roll over to a new index · Create a data stream
ML
9043 read · 32 write · 15 destructive
Predict future behavior of a time series · Add scheduled events to the calendar · Send data to an anomaly detection job for analysis · Clear trained model deployment cache
Security
7830 read · 34 write · 14 destructive
Activate a user profile · Bulk create or update roles · Bulk update API keys · Clone an API key
Core
6139 read · 14 write · 8 destructive
Create a new document in the index · Create or update a document in an index · Get multiple documents · Get multiple documents
Inference
495 read · 41 write · 3 destructive
Perform streaming chat completion inference on the service · Perform completion inference on the service · Perform dense embedding inference on the service · Perform inference on the service
Cat
4545 read · 0 write · 0 destructive
Get node information · Get node attribute information · Get thread pool statistics · Get thread pool statistics
Connector
304 read · 23 write · 3 destructive
Create a connector · Check in a connector · Get a connector · Get all connectors
Cluster
2014 read · 4 write · 2 destructive
Get the pending cluster tasks · Get component templates · Explain the shard allocations · Get component templates
31 more areas · 241 actions
- Esql 19
- Nodes 18
- Ingest 16
- Snapshot 16
- Watcher 16
- Transform 15
- CCR 14
- Ilm 12
- Search application 11
- Rollup 10
- SLM 10
- Query rules 8
- License 7
- Searchable snapshots 7
- Synonyms 7
- Enrich 6
- SQL 6
- Async search 5
- Eql 4
- Fleet 4
- Logstash 4
- Migration 4
- Tasks 4
- Text structure 4
- Dangling indices 3
- Streams 3
- Features 2
- Simulate 2
- Xpack 2
- Graph 1
- SSL 1
Top actions
The Elasticsearch API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 68 of Elasticsearch's 68 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
elasticsearch.cat.nodesGet node information | Get node information | read | infra.instance.list18 connectors |
elasticsearch.nodes.infoGet node information | Get node information | read | infra.instance.list18 connectors |
elasticsearch.nodes.reload_secure_settingsReload the keystore on nodes in the cluster | Reload the keystore on nodes in the cluster | write | infra.instance.update15 connectors |
elasticsearch.cat.indicesGet index information | Get index information | read | infra.search_index.list5 connectors |
elasticsearch.cat.snapshotsGet snapshot information | Get snapshot information | read | infra.snapshot.list12 connectors |
elasticsearch.cat.snapshots_by_repositoryGet snapshot information | Get snapshot information | read | infra.snapshot.list12 connectors |
elasticsearch.cat.indices_by_indexGet index information | Get index information | read | infra.search_index.list5 connectors |
elasticsearch.core.index_documentCreate or update a document in an index | Create or update a document in an index | write | content.record.create15 connectors |
elasticsearch.core.create_documentCreate a new document in the index | Create a new document in the index | write | content.record.create15 connectors |
elasticsearch.snapshot.deleteDelete snapshots | Delete snapshots | destructive | infra.snapshot.delete9 connectors |
elasticsearch.cat.tasksGet task information | Get task information | read | automation.background_job.list34 connectors |
elasticsearch.tasks.listGet all tasks | Get all tasks | read | automation.background_job.list34 connectors |
Try it
Prompts to paste into Claude.
Each one names the Elasticsearch actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Get node information in Elasticsearch and tell me what stands out.
calls
elasticsearch.cat.nodes - Writewrite
Reload the keystore on nodes in the cluster in Elasticsearch. Show me exactly what you will send before you save it.
calls
elasticsearch.nodes.reload_secure_settings
Governance for Elasticsearch
Destructive actions wait for a yes.
92 Elasticsearch actions are destructive. The first 10:
- Delete snapshots
elasticsearch.snapshot.delete - Delete indices
elasticsearch.indices.delete - Delete documents
elasticsearch.core.delete_by_query - Delete a document
elasticsearch.core.delete_document - Delete a dangling index
elasticsearch.dangling_indices.delete_dangling_index - Clear a scrolling search
elasticsearch.core.clear_scroll - Delete an alias
elasticsearch.indices.delete_alias - Delete pipelines
elasticsearch.ingest.delete_pipeline - Delete a legacy index template
elasticsearch.indices.delete_template - Delete data streams
elasticsearch.indices.delete_data_stream
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.
Delete snapshots?
intent: the user asked me to delete snapshots
account { op: "keys.create", name: "elasticsearch-agent", allowed_actions: ["elasticsearch.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "elasticsearch.snapshot.delete", approver: "[email protected]" }, { match: "elasticsearch.indices.delete", approver: "[email protected]" }, { match: "elasticsearch.core.delete_by_query", approver: "[email protected]" } ]}Cost
What Elasticsearch costs on actionlake.
Every Elasticsearch action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Elasticsearch 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 711 Elasticsearch actions
- 711actions pageeach page of a long list is one call
- 0reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Elasticsearch action.
711 actions by area: the id your agent calls, what it does, and its effect.
Indices97
elasticsearch.indices.createCreate an indexwriteelasticsearch.indices.create_data_streamCreate a data streamwriteelasticsearch.indices.rolloverRoll over to a new indexwriteelasticsearch.indices.rollover_by_new_indexRoll over to a new indexwriteelasticsearch.indices.add_blockAdd an index blockwriteelasticsearch.indices.analyzeGet tokens from text analysisread- and 91 more in this area
ML90
elasticsearch.ml.clear_trained_model_deployment_cacheClear trained model deployment cachewriteelasticsearch.ml.forecastPredict future behavior of a time serieswriteelasticsearch.ml.post_calendar_eventsAdd scheduled events to the calendarwriteelasticsearch.ml.post_dataSend data to an anomaly detection job for analysiswriteelasticsearch.ml.close_jobClose anomaly detection jobswriteelasticsearch.ml.delete_calendarDelete a calendardestructive- and 84 more in this area
Security78
elasticsearch.security.activate_user_profileActivate a user profilewriteelasticsearch.security.bulk_put_roleBulk create or update roleswriteelasticsearch.security.bulk_update_api_keysBulk update API keyswriteelasticsearch.security.clone_api_keyClone an API keywriteelasticsearch.security.authenticateAuthenticate a userreadelasticsearch.security.bulk_delete_roleBulk delete rolesdestructive- and 72 more in this area
Core61
elasticsearch.core.create_documentCreate a new document in the indexwriteelasticsearch.core.index_documentCreate or update a document in an indexwriteelasticsearch.core.index_document_by_idCreate or update a document in an indexwriteelasticsearch.core.mgetGet multiple documentsreadelasticsearch.core.mget_by_indexGet multiple documentsreadelasticsearch.core.bulkBulk index or delete documentswrite- and 55 more in this area
Inference49
elasticsearch.inference.chat_completion_unifiedPerform streaming chat completion inference on the servicewriteelasticsearch.inference.completionPerform completion inference on the servicewriteelasticsearch.inference.embeddingPerform dense embedding inference on the servicewriteelasticsearch.inference.inferencePerform inference on the servicewriteelasticsearch.inference.inference_by_task_typePerform inference on the servicewriteelasticsearch.inference.deleteDelete an inference endpointdestructive- and 43 more in this area
Cat45
elasticsearch.cat.nodeattrsGet node attribute informationreadelasticsearch.cat.nodesGet node informationreadelasticsearch.cat.thread_poolGet thread pool statisticsreadelasticsearch.cat.thread_pool_by_thread_pool_patternsGet thread pool statisticsreadelasticsearch.cat.aliasesGet aliasesreadelasticsearch.cat.aliases_by_nameGet aliasesread- and 39 more in this area
Connector30
elasticsearch.connector.check_inCheck in a connectorwriteelasticsearch.connector.getGet a connectorreadelasticsearch.connector.listGet all connectorsreadelasticsearch.connector.postCreate a connectorwriteelasticsearch.connector.deleteDelete a connectordestructiveelasticsearch.connector.putCreate or update a connectorwrite- and 24 more in this area
Cluster20
elasticsearch.cluster.allocation_explainExplain the shard allocationsreadelasticsearch.cluster.get_component_templateGet component templatesreadelasticsearch.cluster.get_component_template_by_nameGet component templatesreadelasticsearch.cluster.pending_tasksGet the pending cluster tasksreadelasticsearch.cluster.delete_component_templateDelete component templatesdestructiveelasticsearch.cluster.delete_voting_config_exclusionsClear cluster voting config exclusionsdestructive- and 14 more in this area
Esql19
elasticsearch.esql.async_queryRun an async ES|QL querywriteelasticsearch.esql.async_query_getGet async ES|QL query resultsreadelasticsearch.esql.get_queryGet a specific running ES|QL query informationreadelasticsearch.esql.queryRun an ES|QL queryreadelasticsearch.esql.async_query_deleteDelete an async ES|QL querydestructiveelasticsearch.esql.async_query_stopStop async ES|QL querywrite- and 13 more in this area
Nodes18
elasticsearch.nodes.infoGet node informationreadelasticsearch.nodes.info_by_metricGet node informationreadelasticsearch.nodes.info_by_node_idGet node informationreadelasticsearch.nodes.info_by_node_id_and_metricGet node informationreadelasticsearch.nodes.clear_repositories_metering_archiveClear the archived repositories meteringdestructiveelasticsearch.nodes.get_repositories_metering_infoGet cluster repositories meteringread- and 12 more in this area
Ingest16
elasticsearch.ingest.delete_pipelineDelete pipelinesdestructiveelasticsearch.ingest.get_pipelineGet pipelinesreadelasticsearch.ingest.get_pipeline_by_idGet pipelinesreadelasticsearch.ingest.processor_grokRun a grok processorreadelasticsearch.ingest.delete_geoip_databaseDelete GeoIP database configurationsdestructiveelasticsearch.ingest.delete_ip_location_databaseDelete IP geolocation database configurationsdestructive- and 10 more in this area
Snapshot16
elasticsearch.snapshot.createCreate a snapshotwriteelasticsearch.snapshot.getGet snapshot informationreadelasticsearch.snapshot.statusGet the snapshot statusreadelasticsearch.snapshot.status_by_repositoryGet the snapshot statusreadelasticsearch.snapshot.status_by_repository_and_snapshotGet the snapshot statusreadelasticsearch.snapshot.cleanup_repositoryClean up the snapshot repositorywrite- and 10 more in this area
Watcher16
elasticsearch.watcher.activate_watchActivate a watchwriteelasticsearch.watcher.execute_watchRun a watchwriteelasticsearch.watcher.execute_watch_by_idRun a watchwriteelasticsearch.watcher.query_watchesQuery watchesreadelasticsearch.watcher.ack_watchAcknowledge a watchwriteelasticsearch.watcher.ack_watch_by_action_idAcknowledge a watchwrite- and 10 more in this area
Transform15
elasticsearch.transform.get_node_statsGet node statsreadelasticsearch.transform.get_transformGet transformsreadelasticsearch.transform.get_transform_by_transform_idGet transformsreadelasticsearch.transform.get_transform_statsGet transform statsreadelasticsearch.transform.delete_transformDelete a transformdestructiveelasticsearch.transform.preview_transformPreview a transformread- and 9 more in this area
CCR14
elasticsearch.ccr.followCreate a followerwriteelasticsearch.ccr.follow_infoGet follower informationreadelasticsearch.ccr.follow_statsGet follower statsreadelasticsearch.ccr.get_auto_follow_patternGet auto-follow patternsreadelasticsearch.ccr.get_auto_follow_pattern_by_nameGet auto-follow patternsreadelasticsearch.ccr.delete_auto_follow_patternDelete auto-follow patternsdestructive- and 8 more in this area
Ilm12
elasticsearch.ilm.explain_lifecycleExplain the lifecycle statereadelasticsearch.ilm.get_lifecycleGet lifecycle policiesreadelasticsearch.ilm.get_lifecycle_by_policyGet lifecycle policiesreadelasticsearch.ilm.get_statusGet the ILM statusreadelasticsearch.ilm.delete_lifecycleDelete a lifecycle policydestructiveelasticsearch.ilm.migrate_to_data_tiersMigrate to data tiers routingwrite- and 6 more in this area
Search application11
elasticsearch.search_application.getGet search application detailsreadelasticsearch.search_application.get_behavioral_analyticsGet behavioral analytics collectionsreadelasticsearch.search_application.get_behavioral_analytics_by_nameGet behavioral analytics collectionsreadelasticsearch.search_application.post_behavioral_analytics_eventCreate a behavioral analytics collection eventwriteelasticsearch.search_application.searchRun a search application searchreadelasticsearch.search_application.deleteDelete a search applicationdestructive- and 5 more in this area
Rollup10
elasticsearch.rollup.get_jobsGet rollup job informationreadelasticsearch.rollup.get_jobs_by_idGet rollup job informationreadelasticsearch.rollup.get_rollup_capsGet the rollup job capabilitiesreadelasticsearch.rollup.get_rollup_caps_by_idGet the rollup job capabilitiesreadelasticsearch.rollup.rollup_searchSearch rolled-up datareadelasticsearch.rollup.delete_jobDelete a rollup jobdestructive- and 4 more in this area
SLM10
elasticsearch.slm.execute_lifecycleRun a policywriteelasticsearch.slm.execute_retentionRun a retention policywriteelasticsearch.slm.get_lifecycleGet policy informationreadelasticsearch.slm.get_lifecycle_by_policy_idGet policy informationreadelasticsearch.slm.delete_lifecycleDelete a policydestructiveelasticsearch.slm.get_statsGet snapshot lifecycle management statisticsread- and 4 more in this area
Query rules8
elasticsearch.query_rules.get_ruleGet a query rulereadelasticsearch.query_rules.get_rulesetGet a query rulesetreadelasticsearch.query_rules.list_rulesetsGet all query rulesetsreadelasticsearch.query_rules.testTest a query rulesetreadelasticsearch.query_rules.delete_ruleDelete a query ruledestructiveelasticsearch.query_rules.delete_rulesetDelete a query rulesetdestructive- and 2 more in this area
License7
elasticsearch.license.getGet license informationreadelasticsearch.license.postUpdate the licensewriteelasticsearch.license.post_start_basicStart a basic licensewriteelasticsearch.license.post_start_trialStart a trialwriteelasticsearch.license.deleteDelete the licensedestructiveelasticsearch.license.get_basic_statusGet the basic license statusread- and 1 more in this area
Searchable snapshots7
elasticsearch.searchable_snapshots.cache_statsGet cache statisticsreadelasticsearch.searchable_snapshots.cache_stats_by_node_idGet cache statisticsreadelasticsearch.searchable_snapshots.clear_cacheClear the cachewriteelasticsearch.searchable_snapshots.clear_cache_by_indexClear the cachewriteelasticsearch.searchable_snapshots.mountMount a snapshotwriteelasticsearch.searchable_snapshots.statsGet searchable snapshot statisticsread- and 1 more in this area
Synonyms7
elasticsearch.synonyms.delete_synonymDelete a synonym setdestructiveelasticsearch.synonyms.get_synonymGet a synonym setreadelasticsearch.synonyms.get_synonym_ruleGet a synonym rulereadelasticsearch.synonyms.get_synonyms_setsGet all synonym setsreadelasticsearch.synonyms.delete_synonym_ruleDelete a synonym ruledestructiveelasticsearch.synonyms.put_synonymCreate or update a synonym setwrite- and 1 more in this area
Enrich6
elasticsearch.enrich.execute_policyRun an enrich policywriteelasticsearch.enrich.get_policyGet an enrich policyreadelasticsearch.enrich.get_policy_by_nameGet an enrich policyreadelasticsearch.enrich.statsGet enrich statsreadelasticsearch.enrich.delete_policyDelete an enrich policydestructiveelasticsearch.enrich.put_policyCreate an enrich policywrite
SQL6
elasticsearch.sql.clear_cursorClear an SQL search cursorwriteelasticsearch.sql.get_asyncGet async SQL search resultsreadelasticsearch.sql.get_async_statusGet the async SQL search statusreadelasticsearch.sql.queryGet SQL search resultsreadelasticsearch.sql.delete_asyncDelete an async SQL searchdestructiveelasticsearch.sql.translateTranslate SQL into Elasticsearch queriesread
Async search5
elasticsearch.async_search.getGet async search resultsreadelasticsearch.async_search.statusGet the async search statusreadelasticsearch.async_search.submitRun an async searchwriteelasticsearch.async_search.submit_by_indexRun an async searchwriteelasticsearch.async_search.deleteDelete an async searchdestructive
Eql4
elasticsearch.eql.deleteDelete an async EQL searchdestructiveelasticsearch.eql.getGet async EQL search resultsreadelasticsearch.eql.get_statusGet the async EQL statusreadelasticsearch.eql.searchGet EQL search resultsread
Fleet4
elasticsearch.fleet.global_checkpointsGet global checkpointsreadelasticsearch.fleet.msearchRun multiple Fleet searchesreadelasticsearch.fleet.msearch_by_indexRun multiple Fleet searchesreadelasticsearch.fleet.searchRun a Fleet searchread
Logstash4
elasticsearch.logstash.delete_pipelineDelete a Logstash pipelinedestructiveelasticsearch.logstash.get_pipelineGet Logstash pipelinesreadelasticsearch.logstash.get_pipeline_by_idGet Logstash pipelinesreadelasticsearch.logstash.put_pipelineCreate or update a Logstash pipelinewrite
Migration4
elasticsearch.migration.deprecationsGet deprecation informationreadelasticsearch.migration.deprecations_by_indexGet deprecation informationreadelasticsearch.migration.get_feature_upgrade_statusGet feature migration informationreadelasticsearch.migration.post_feature_upgradeStart the feature migrationwrite
Tasks4
elasticsearch.tasks.cancelCancel a taskdestructiveelasticsearch.tasks.cancel_by_task_idCancel a taskdestructiveelasticsearch.tasks.getGet task informationreadelasticsearch.tasks.listGet all tasksread
Text structure4
elasticsearch.text_structure.find_field_structureFind the structure of a text fieldreadelasticsearch.text_structure.find_message_structureFind the structure of text messagesreadelasticsearch.text_structure.find_structureFind the structure of a text filereadelasticsearch.text_structure.test_grok_patternTest a Grok patternread
Dangling indices3
elasticsearch.dangling_indices.delete_dangling_indexDelete a dangling indexdestructiveelasticsearch.dangling_indices.import_dangling_indexImport a dangling indexwriteelasticsearch.dangling_indices.list_dangling_indicesGet the dangling indicesread
Streams3
elasticsearch.streams.logs_disableDisable a named streamwriteelasticsearch.streams.logs_enableEnable a named streamwriteelasticsearch.streams.statusGet the status of streamsread
Features2
elasticsearch.features.get_featuresGet the featuresreadelasticsearch.features.reset_featuresReset the featuresdestructive
Simulate2
elasticsearch.simulate.ingestSimulate data ingestionreadelasticsearch.simulate.ingest_by_indexSimulate data ingestionread
Xpack2
elasticsearch.xpack.infoGet informationreadelasticsearch.xpack.usageGet usage informationread
Graph1
elasticsearch.graph.exploreExplore graph analyticsread
SSL1
elasticsearch.ssl.certificatesGet SSL certificatesread
This index shows a sample of each area. All 711 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.
Questions
The Elasticsearch MCP server, answered.
Is there an Elasticsearch MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 711 Elasticsearch actions across indices, ML, security and core, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Elasticsearch.
What do I need to connect Elasticsearch?
Elasticsearch API key, the base64 `encoded` value (Kibana > Stack Management > API keys > Create API key, or POST…. Plus your host. The free call account { op: "connections.requirements", service: "elasticsearch" } lists exactly what to paste.
Can an AI agent delete or change things in Elasticsearch?
Only if its key allows it, and only with an explicit confirmation. 92 Elasticsearch actions are destructive, including delete snapshots, delete indices and delete documents. 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 Elasticsearch API limit?
actionlake paces every call to the limits in the Elasticsearch service file: 600 calls a minute per connection.
What does an Elasticsearch action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (711 Elasticsearch actions page). Cache hits, searches, dry runs and calls Elasticsearch 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 Elasticsearch API does it cover?
The Elasticsearch REST API 9.x (elasticsearch-specification main) at your Elasticsearch instance's API base URL, which you enter when connecting. It is built from Elasticsearch's documentation as read on 22 October 2026. 711 actions in 39 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Elasticsearch data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Elasticsearch responses are not cached. 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 Elasticsearch 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 Elasticsearch today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.