Skip to content

Connectors · AI

Bright Data MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Bright Data and the rest of your systems. It gives your agent 134 Bright Data actions (88 reads, 35 writes and 11 that wait for a confirmation) and holds the Bright Data credential itself, so the agent never does. It paces Bright Data'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/mcp
the first call
do {  action: "bright_data.datasets.list",  intent: "check which Bright Data account is connected"}# Retrieve a list of available datasets · read · 1 upstream call
  • 134actionsin one signed file
  • 88readlook, never change
  • 35writecreate and update
  • 11wait for a yesdestructive, confirmed first

Set up

Connect Bright Data in three steps.

  1. 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
  2. 02

    Connect Bright Data.

    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_keyBright Data API key: in the control panel open Account settings > API keys (https://brightdata.com/cp/setting/users)…
    account { op: "connections.requirements", service: "bright_data" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "bright_data.datasets.list" }# retrieve a list of available datasets · read · 1 upstream callcheck { action: "bright_data.zone_ips.add", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Bright Data 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
Limits we pace to
600 calls a minute, per connection
API covered
Bright Data REST API (docs fetched 2026-10-23)api.brightdata.com
Built from
Bright Data's documentation, read 23 October 2026docs.brightdata.comdocs.brightdata.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
15 of 88 reads, for up to 5 minutes; a write clears what it affects
Shared entities
1, so ask can line Bright Data up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Bright Data.

134 actions in 34 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 88readlook, never change
  • 35writecreate and update
  • 11destructivewait for a confirmation
  1. Scrapers prebuilt

    23

    23 read · 0 write · 0 destructive

    Collect Products by URL · Collect Reviews by URL · Collect Sellers Info by URL · Search by Prompt

  2. Zones

    13

    9 read · 3 write · 1 destructive

    Add a new zone · Return all zones · Return all active zones · zones.list recent ips

  3. Scraper studio jobs

    11

    4 read · 6 write · 1 destructive

    List Scraper Studio jobs · Rerun a Scraper Studio job · Trigger a synchronous real-time run of a Scraper Studio collector · Start an asynchronous batch collection for a published Scraper Studio collector

  4. Scrape snapshots

    10

    5 read · 4 write · 1 destructive

    Deliver the snapshot content to the specified storage · Get a list of triggered collections, the list contains only snapshots created for a specific dataset · When requesting a delivery in batches (see available delivery APIs) use this endpoint to check how many parts were crea… · Rerun previously created snapshot

  5. Zone ips

    8

    4 read · 3 write · 1 destructive

    Add Static IPs for Datacenter and ISP · Get Zone Static (Datacenter/ISP) IPs · Get list of all proxies in the provided zone, which are pending replacement · Get the available Data center/ISP IPs per Zone

  6. Scraper studio AI

    7

    2 read · 4 write · 1 destructive

    Enable Auto Self-Healing · Trigger AI Flow · Trigger Self-Healing · Get AI Job Progress

  7. Account

    4

    3 read · 1 write · 0 destructive

    Get your account balance information: available balance, free credits, prepayment and pending usage costs · Get the bandwidth stats for all your Zones · Get account status · account.update status

  8. Dataset snapshots

    4

    3 read · 1 write · 0 destructive

    Deliver the dataset snapshot · Get dataset snapshot delivery parts · Get dataset snapshot content · Get dataset snapshot metadata

26 more areas · 54 actions
  • Datasets 4
  • Web unlocker 4
  • Dataset view delivery settings 3
  • Scraper studio scrapers 3
  • Serp 3
  • Web archive dumps 3
  • Web archive searches 3
  • Zone allowlist 3
  • Zone denylist 3
  • Zone passwords 3
  • Browser sessions 2
  • Business search 2
  • Delivery options 2
  • Scrapes 2
  • Zone domain permissions 2
  • Zone vips 2
  • Cities 1
  • Costs 1
  • Countries 1
  • Dataset views 1
  • Media data jobs 1
  • Network status 1
  • Pricing plans 1
  • Scrape deliveries 1
  • Scrapers 1
  • Static cities 1

Top actions

The Bright Data API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 1 of Bright Data's 1 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
bright_data.datasets.listRetrieve a list of available datasetsRetrieve a list of available datasets.readanalytics.dataset.list28 connectors
bright_data.zones.listReturn all zonesReturn all zones.readthis connector
bright_data.cities.listGet a list of cities from a CountryGet a list of cities from a Country.readthis connector
bright_data.scrapes.runScrape data and return it directly in the responseScrape data and return it directly in the response.readthis connector
bright_data.serp.requestRun an SERP requestRun a SERP request.readthis connector
bright_data.zone_ips.addAdd Static IPs for Datacenter and ISPAdd Static IPs for Datacenter and ISP.writethis connector
bright_data.zones.createAdd a new zoneAdd a new zone.writethis connector
bright_data.scrapers.listGet every scraper available to your account, with the full input schema, output field list and sample payloads for each…Get every scraper available to your account, with the full input schema, output field list and sample payloads for each….readthis connector
bright_data.zone_ips.listGet Zone Static (Datacenter/ISP) IPsGet Zone Static (Datacenter/ISP) IPs.readthis connector
bright_data.countries.listList all available countries per zone typeList all available countries per zone type.readthis connector
bright_data.datasets.filterCreate a dataset snapshot based on a provided filterCreate a dataset snapshot based on a provided filter.writethis connector
bright_data.zones.deletezones.deletezones.delete.destructivethis connector

Try it

Prompts to paste into Claude.

Each one names the Bright Data actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Retrieve a list of available datasets in Bright Data and tell me what stands out.

    callsbright_data.datasets.list

  2. Writewrite

    Add Static IPs for Datacenter and ISP in Bright Data. Show me exactly what you will send before you save it.

    callsbright_data.zone_ips.add

Governance for Bright Data

Destructive actions wait for a yes.

11 Bright Data actions are destructive. These are all of them:

  • zones.deletebright_data.zones.delete
  • zone ips.removebright_data.zone_ips.remove
  • zone vips.removebright_data.zone_vips.remove
  • zone denylist.removebright_data.zone_denylist.remove
  • zone allowlist.removebright_data.zone_allowlist.remove
  • Remove Zone Passwordbright_data.zone_passwords.remove
  • Delete a Scraper Studio scraperbright_data.scraper_studio_scrapers.delete
  • zone domain permissions.removebright_data.zone_domain_permissions.remove
  • Cancel the running collectionbright_data.scrape_snapshots.cancel
  • Cancel a Scraper Studio jobbright_data.scraper_studio_jobs.cancel
  • Cancel Self-Healing Jobbright_data.scraper_studio_ai.cancel_self_healing

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.

dobright_data.zones.deleteconfirm_policy: human

zones.delete?

intent: the user asked me to zones.delete

run suspended · waiting for a named person · key bright-data-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "bright-data-agent",  allowed_actions: ["bright_data.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "bright_data.zones.delete", approver: "[email protected]" },    { match: "bright_data.zone_ips.remove", approver: "[email protected]" },    { match: "bright_data.zone_vips.remove", approver: "[email protected]" }  ]}
Illustrative. Scoped to Bright Data only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Bright Data costs on actionlake.

Every Bright Data action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Bright Data 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 134 Bright Data actions
  • 134actions pageeach page of a long list is one call
  • 15reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Bright Data action.

134 actions by area: the id your agent calls, what it does, and its effect.

Scrapers prebuilt23
  • bright_data.scrapers_prebuilt.amazon_productsCollect Products by URLread
  • bright_data.scrapers_prebuilt.amazon_reviewsCollect Reviews by URLread
  • bright_data.scrapers_prebuilt.amazon_sellers_infoCollect Sellers Info by URLread
  • bright_data.scrapers_prebuilt.chatgpt_searchSearch by Promptread
  • bright_data.scrapers_prebuilt.facebook_commentsCollect Facebook comments by URLread
  • bright_data.scrapers_prebuilt.facebook_pages_postsCollect Page Posts by URLread
  • bright_data.scrapers_prebuilt.facebook_postsCollect Facebook posts by URLread
  • bright_data.scrapers_prebuilt.facebook_posts_by_groupCollect Posts by Group URLread
  • bright_data.scrapers_prebuilt.facebook_reelsCollect Reels by Profile URLread
  • bright_data.scrapers_prebuilt.fetch_apiFetch API: collect a web page by URLread
  • bright_data.scrapers_prebuilt.instagram_commentsCollect Instagram comments by URLread
  • bright_data.scrapers_prebuilt.instagram_postsCollect Instagram posts by URLread
  • bright_data.scrapers_prebuilt.instagram_profilesCollect Instagram profiles by URLread
  • bright_data.scrapers_prebuilt.instagram_reelsCollect Reels by URLread
  • bright_data.scrapers_prebuilt.linkedin_companiesCollect LinkedIn Companies by URLread
  • bright_data.scrapers_prebuilt.linkedin_jobsCollect LinkedIn Jobs by URLread
  • bright_data.scrapers_prebuilt.linkedin_postsCollect LinkedIn Posts by URLread
  • bright_data.scrapers_prebuilt.linkedin_profilesCollect LinkedIn Profiles by URLread
  • bright_data.scrapers_prebuilt.reddit_postsCollect Reddit posts by URLread
  • bright_data.scrapers_prebuilt.tiktok_commentsCollect TikTok comments by URLread
  • bright_data.scrapers_prebuilt.tiktok_postsCollect TikTok posts by URLread
  • bright_data.scrapers_prebuilt.tiktok_profilesCollect TikTok profiles by URLread
  • bright_data.scrapers_prebuilt.youtube_videosCollect Videos by URLread
Zones13
  • bright_data.zones.count_available_ipszones.count available ipsread
  • bright_data.zones.createAdd a new zonewrite
  • bright_data.zones.deletezones.deletedestructive
  • bright_data.zones.getGet Zone statusread
  • bright_data.zones.get_bandwidthGet the bandwidth stats for a Zoneread
  • bright_data.zones.get_costReturns billed cost, bandwidth, and usage stats for a Zone over a date rangeread
  • bright_data.zones.get_permissionsGet Zone permissionsread
  • bright_data.zones.get_statusGet Zone statusread
  • bright_data.zones.listReturn all zonesread
  • bright_data.zones.list_activeReturn all active zonesread
  • bright_data.zones.list_recent_ipszones.list recent ipsread
  • bright_data.zones.set_auto_failoverSwitch automatic failover ON/OFF in a Static zonewrite
  • bright_data.zones.set_disabledzones.set disabledwrite
Scraper studio jobs11
  • bright_data.scraper_studio_jobs.cancelCancel a Scraper Studio jobdestructive
  • bright_data.scraper_studio_jobs.getGet job data by job IDread
  • bright_data.scraper_studio_jobs.get_batch_resultRetrieve the results of an asynchronous Scraper Studio batch collectionread
  • bright_data.scraper_studio_jobs.get_realtime_resultReceive data from real-time work scraperread
  • bright_data.scraper_studio_jobs.listList Scraper Studio jobsread
  • bright_data.scraper_studio_jobs.pausePause a Scraper Studio jobwrite
  • bright_data.scraper_studio_jobs.rerunRerun a Scraper Studio jobwrite
  • bright_data.scraper_studio_jobs.resumeResume a Scraper Studio jobwrite
  • bright_data.scraper_studio_jobs.run_realtimeTrigger a synchronous real-time run of a Scraper Studio collectorwrite
  • bright_data.scraper_studio_jobs.trigger_batchStart an asynchronous batch collection for a published Scraper Studio collectorwrite
  • bright_data.scraper_studio_jobs.trigger_realtimeTrigger an asynchronous real-time run of a Scraper Studio collectorwrite
Scrape snapshots10
  • bright_data.scrape_snapshots.cancelCancel the running collectiondestructive
  • bright_data.scrape_snapshots.deliverDeliver the snapshot content to the specified storagewrite
  • bright_data.scrape_snapshots.downloadDownload the snapshot contentread
  • bright_data.scrape_snapshots.get_logRetrieve the logs for a specific dataset snapshotread
  • bright_data.scrape_snapshots.get_progressThe Monitor Progress API is designed to track the current status of a data collection job, also known as a snapshot, in…read
  • bright_data.scrape_snapshots.listGet a list of triggered collections, the list contains only snapshots created for a specific datasetread
  • bright_data.scrape_snapshots.list_partsWhen requesting a delivery in batches (see available delivery APIs) use this endpoint to check how many parts were crea…read
  • bright_data.scrape_snapshots.pausePause the running collectionwrite
  • bright_data.scrape_snapshots.rerunRerun previously created snapshotwrite
  • bright_data.scrape_snapshots.resumeResume a paused collectionwrite
Zone ips8
  • bright_data.zone_ips.addAdd Static IPs for Datacenter and ISPwrite
  • bright_data.zone_ips.listGet Zone Static (Datacenter/ISP) IPsread
  • bright_data.zone_ips.list_pending_replacementGet list of all proxies in the provided zone, which are pending replacementread
  • bright_data.zone_ips.list_routesGet the available Data center/ISP IPs per Zoneread
  • bright_data.zone_ips.list_unavailableGet live status of Static (Datacenter/ISP) Zone and IPs with connectivity problemread
  • bright_data.zone_ips.migrateMigrate Static IPs between zones (Datacenter/ISP)write
  • bright_data.zone_ips.refreshzone ips.refreshwrite
  • bright_data.zone_ips.removezone ips.removedestructive
Scraper studio AI7
  • bright_data.scraper_studio_ai.cancel_self_healingCancel Self-Healing Jobdestructive
  • bright_data.scraper_studio_ai.enable_auto_self_healingEnable Auto Self-Healingwrite
  • bright_data.scraper_studio_ai.get_progressGet AI Job Progressread
  • bright_data.scraper_studio_ai.get_self_healing_progressGet Self-Healing Job Progressread
  • bright_data.scraper_studio_ai.resume_self_healingResume Self-Healing Jobwrite
  • bright_data.scraper_studio_ai.triggerTrigger AI Flowwrite
  • bright_data.scraper_studio_ai.trigger_self_healingTrigger Self-Healingwrite
Account4
  • bright_data.account.get_balanceGet your account balance information: available balance, free credits, prepayment and pending usage costsread
  • bright_data.account.get_bandwidthGet the bandwidth stats for all your Zonesread
  • bright_data.account.get_statusGet account statusread
  • bright_data.account.update_statusaccount.update statuswrite
Dataset snapshots4
  • bright_data.dataset_snapshots.deliverDeliver the dataset snapshotwrite
  • bright_data.dataset_snapshots.downloadGet dataset snapshot contentread
  • bright_data.dataset_snapshots.getGet dataset snapshot metadataread
  • bright_data.dataset_snapshots.list_partsGet dataset snapshot delivery partsread
Datasets4
  • bright_data.datasets.filterCreate a dataset snapshot based on a provided filterwrite
  • bright_data.datasets.get_metadataGet dataset metadataread
  • bright_data.datasets.listRetrieve a list of available datasetsread
  • bright_data.datasets.searchSearch a datasetread
Web unlocker4
  • bright_data.web_unlocker.get_async_resultweb unlocker.get async resultread
  • bright_data.web_unlocker.get_success_rateGet success rate statistics per domainread
  • bright_data.web_unlocker.requestUnlock a URLread
  • bright_data.web_unlocker.request_asyncweb unlocker.request asyncwrite
Dataset view delivery settings3
  • bright_data.dataset_view_delivery_settings.bulk_updateUpdates delivery configurations for multiple dataset views in a single requestwrite
  • bright_data.dataset_view_delivery_settings.getRetrieves the current delivery configuration for a specific dataset viewread
  • bright_data.dataset_view_delivery_settings.updateUpdates the delivery configuration for a specific dataset viewwrite
Scraper studio scrapers3
  • bright_data.scraper_studio_scrapers.createCreate Scraper Templatewrite
  • bright_data.scraper_studio_scrapers.deleteDelete a Scraper Studio scraperdestructive
  • bright_data.scraper_studio_scrapers.listList Scraper Studio scrapersread
Serp3
  • bright_data.serp.get_async_resultserp.get async resultread
  • bright_data.serp.requestRun an SERP requestread
  • bright_data.serp.request_asyncserp.request asyncwrite
Web archive dumps3
  • bright_data.web_archive_dumps.createDeliver a snapshot to Amazon S3, Azure Blob Storage or a Webhookwrite
  • bright_data.web_archive_dumps.getGet data snapshot (dump) statusread
  • bright_data.web_archive_dumps.listGet all data snapshot statusesread
Web archive searches3
  • bright_data.web_archive_searches.createRun a searchwrite
  • bright_data.web_archive_searches.getGet search statusread
  • bright_data.web_archive_searches.listGet all search statusesread
Zone allowlist3
  • bright_data.zone_allowlist.addAdd IP to zone's allowlistwrite
  • bright_data.zone_allowlist.listGet a list of allowlisted IPs for a specific Zoneread
  • bright_data.zone_allowlist.removezone allowlist.removedestructive
Zone denylist3
  • bright_data.zone_denylist.addAdd IP to zone's denylistwrite
  • bright_data.zone_denylist.listGet a list of denylisted IPs for a specific Zoneread
  • bright_data.zone_denylist.removezone denylist.removedestructive
Zone passwords3
  • bright_data.zone_passwords.addAdd Zone Passwordwrite
  • bright_data.zone_passwords.listGet Zone passwordsread
  • bright_data.zone_passwords.removeRemove Zone Passworddestructive
Browser sessions2
  • bright_data.browser_sessions.getGet single browser sessionread
  • bright_data.browser_sessions.listList browser sessionsread
Business search2
  • bright_data.business_search.companiesSearch companiesread
  • bright_data.business_search.peopleSearch peopleread
Delivery options2
  • bright_data.delivery_options.get_schemaReturns the exact fields required for a specific delivery destination type (for example `s3`, `sftp`, `gcs`, `webhook`)read
  • bright_data.delivery_options.listReturns the options available for configuring delivery settings on a dataset view, including supported destination type…read
Scrapes2
  • bright_data.scrapes.runScrape data and return it directly in the responseread
  • bright_data.scrapes.triggerTrigger a web scraping collection based on provided inputswrite
Zone domain permissions2
  • bright_data.zone_domain_permissions.addAdd domain to Zone allowlist or denylistwrite
  • bright_data.zone_domain_permissions.removezone domain permissions.removedestructive
Zone vips2
  • bright_data.zone_vips.listGet all available residential dedicated IPs per Zoneread
  • bright_data.zone_vips.removezone vips.removedestructive
Cities1
  • bright_data.cities.listGet a list of cities from a Countryread
Costs1
  • bright_data.costs.export_jsonExport account cost data broken down by dimension (products, zones, datasets, Web Scraper APIs, and more) as JSONread
Countries1
  • bright_data.countries.listList all available countries per zone typeread
Dataset views1
  • bright_data.dataset_views.listRetrieves the customer's dataset viewsread
Media data jobs1
  • bright_data.media_data_jobs.list_errorsGet errors for a Media Data API jobread
Network status1
  • bright_data.network_status.getnetwork status.getread
Pricing plans1
  • bright_data.pricing_plans.listGet your account's current pricing plan and the plans available to it, with per-product prices for each planread
Scrape deliveries1
  • bright_data.scrape_deliveries.getThe call returns the delivery statusread
Scrapers1
  • bright_data.scrapers.listGet every scraper available to your account, with the full input schema, output field list and sample payloads for each…read
Static cities1
  • bright_data.static_cities.listGet list of available cities of static network per countryread

Questions

The Bright Data MCP server, answered.

Is there a Bright Data MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 134 Bright Data actions across scrapers prebuilt, zones, scraper studio jobs and scrape snapshots, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Bright Data.

What do I need to connect Bright Data?

Bright Data API key: in the control panel open Account settings > API keys (https://brightdata.com/cp/setting/users)…. The free call account { op: "connections.requirements", service: "bright_data" } lists exactly what to paste.

Can an AI agent delete or change things in Bright Data?

Only if its key allows it, and only with an explicit confirmation. 11 Bright Data actions are destructive, including zones.delete, zone ips.remove and zone vips.remove. 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 Bright Data API limit?

actionlake paces every call to the limits in the Bright Data service file: 600 calls a minute per connection. Repeated reads are answered from cache (15 Bright Data actions can be), which never reaches Bright Data.

What does a Bright Data action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (134 Bright Data actions page). Cache hits, searches, dry runs and calls Bright Data 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 Bright Data API does it cover?

The Bright Data REST API (docs fetched 2026-10-23) at api.brightdata.com. It is built from Bright Data's documentation as read on 23 October 2026. 134 actions in 34 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my Bright Data 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 Bright Data 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 Bright Data today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.