Skip to content

Connectors · Identity & security

Socket MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Socket and the rest of your systems. It gives your agent 107 Socket actions (69 reads, 25 writes and 13 that wait for a confirmation) and holds the Socket credential itself, so the agent never does. It paces Socket'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: "socket_dev.organizations.list",  intent: "check which Socket account is connected"}# List organizations · read · 1 upstream call
  • 107actionsin one signed file
  • 69readlook, never change
  • 25writecreate and update
  • 13wait for a yesdestructive, confirmed first

Set up

Connect Socket 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 Socket.

    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_keySocket organization API token (Socket dashboard > Settings > API Tokens)
    account { op: "connections.requirements", service: "socket_dev" }
    # 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: "socket_dev.organizations.list" }# list organizations · read · 1 upstream callcheck { action: "socket_dev.alert_policies.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Socket 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_key
Limits we pace to
5 calls a second, per connection
API covered
Socket API v0 (OpenAPI 3.0.0) and v1 (OpenAPI 3.1.0)api.socket.dev
Built from
Socket's documentation, read 23 October 2026api.socket.devapi.socket.devdocs.socket.dev
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
62 of 69 reads, for up to 5 minutes; a write clears what it affects
Shared entities
3, so ask can line Socket up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Socket.

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

  • 69readlook, never change
  • 25writecreate and update
  • 13destructivewait for a confirmation
  1. Full scans

    9

    7 read · 1 write · 1 destructive

    List full scans · Delete full scan · Rescan full scan · Diff Full Scans

  2. Repo labels

    7

    2 read · 4 write · 1 destructive

    Create repository label (beta) · List repository labels (beta) · Associate repository label (beta) · Disassociate repository label (beta)

  3. Repos

    6

    3 read · 2 write · 1 destructive

    List repositories · Create repository · Get repository · Update repository

  4. Alert policies

    5

    2 read · 2 write · 1 destructive

    List Org Alert Policies · Create Org Alert Policy · Get Org Alert Policy · Update Org Alert Policy

  5. Alert policy rules

    5

    2 read · 2 write · 1 destructive

    Create Org Alert Policy Rule · List Org Alert Policy Rules · Get Org Alert Policy Rule · Update Org Alert Policy Rule

  6. API tokens

    5

    1 read · 2 write · 2 destructive

    Create API Token · List API Tokens · Update API Token · Revoke API Token

  7. Diff scans

    5

    3 read · 1 write · 1 destructive

    Create diff scan from full scan IDs · List diff scans · Get diff scan · SCM Comment for Diff Scan

  8. Webhooks

    5

    2 read · 2 write · 1 destructive

    Create a webhook · List all webhooks · Update webhook · Get webhook

31 more areas · 60 actions
  • Alert resolutions 4
  • License policy 4
  • Reports 4
  • Alert triage 3
  • Packages 3
  • Repo label settings 3
  • Threat campaigns 3
  • Alert policy migration 2
  • Alerts 2
  • Analytics 2
  • Events 2
  • Fix computations 2
  • Historical alerts 2
  • Historical snapshots 2
  • NPM packages 2
  • Openapi 2
  • Security policy 2
  • Telemetry config 2
  • Threat feed 2
  • Alert types 1
  • Audit log 1
  • Dependencies 1
  • Fixes 1
  • Historical dependencies 1
  • Integration events 1
  • License metadata 1
  • Organizations 1
  • Quota 1
  • Settings 1
  • Socket basics 1
  • Supported files 1

Top actions

The Socket API, shaped for agents.

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

ActionWhat it doesEffectSame name in
socket_dev.alert_policies.listList Org Alert PoliciesList Org Alert Policies.readsecurity.policy.list36 connectors
socket_dev.alert_policies.createCreate Org Alert PolicyCreate Org Alert Policy.writesecurity.policy.create25 connectors
socket_dev.alerts.listList latest alerts (Beta)List latest alerts (Beta).readsecurity.alert.list22 connectors
socket_dev.repos.listList repositoriesList repositories.readdevops.repository.list28 connectors
socket_dev.audit_log.listGet Audit Log EventsGet Audit Log Events.readsecurity.audit_log.list69 connectors
socket_dev.alert_policies.deleteDelete Org Alert PolicyDelete Org Alert Policy.destructivesecurity.policy.delete21 connectors
socket_dev.repos.createCreate repositoryCreate repository.writedevops.repository.create18 connectors
socket_dev.webhooks.createCreate a webhookCreate a webhook.writeautomation.webhook.create209 connectors
socket_dev.webhooks.listList all webhooksList all webhooks.readautomation.webhook.list202 connectors
socket_dev.threat_feed.listGet Threat Feed Items (Beta)Get Threat Feed Items (Beta).readsecurity.threat.list7 connectors
socket_dev.api_tokens.createCreate API TokenCreate API Token.writeidentity.api_key.create100 connectors
socket_dev.api_tokens.listList API TokensList API Tokens.readidentity.api_key.list96 connectors

Try it

Prompts to paste into Claude.

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

  1. Readread

    Which Socket alerts are open right now? Group them by service.

    callssocket_dev.alerts.list

  2. Writewrite

    Create Org Alert Policy in Socket. Show me exactly what you will send before you save it.

    callssocket_dev.alert_policies.create

Governance for Socket

Destructive actions wait for a yes.

13 Socket actions are destructive. These are all of them:

  • Delete Org Alert Policysocket_dev.alert_policies.delete
  • Delete repositorysocket_dev.repos.delete
  • Delete webhooksocket_dev.webhooks.delete
  • Delete full scansocket_dev.full_scans.delete
  • Delete a reportsocket_dev.reports.delete
  • Revoke API Tokensocket_dev.api_tokens.revoke
  • Rotate API Tokensocket_dev.api_tokens.rotate
  • Delete diff scansocket_dev.diff_scans.delete
  • Delete repository label (beta)socket_dev.repo_labels.delete
  • Delete Org Alert Triagesocket_dev.alert_triage.delete
  • Delete Org Alert Resolutionsocket_dev.alert_resolutions.delete
  • Delete Org Alert Policy Rulesocket_dev.alert_policy_rules.delete
  • Delete repository label setting (beta)socket_dev.repo_label_settings.delete

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.

dosocket_dev.alert_policies.deleteconfirm_policy: human

Delete Org Alert Policy?

intent: the user asked me to delete Org Alert Policy

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

Cost

What Socket costs on actionlake.

Every Socket action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Socket 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 107 Socket actions
  • 107actions pageeach page of a long list is one call
  • 62reads 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 Socket action.

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

Full scans9
  • socket_dev.full_scans.deleteDelete full scandestructive
  • socket_dev.full_scans.diffDiff Full Scansread
  • socket_dev.full_scans.diff_gfmSCM Comment for Scan Diffread
  • socket_dev.full_scans.export_cyclonedxExport CycloneDX SBOM (Beta)read
  • socket_dev.full_scans.export_openvexExport OpenVEX Document (Beta)read
  • socket_dev.full_scans.export_spdxExport SPDX SBOM (Beta)read
  • socket_dev.full_scans.get_metadataGet full scan metadataread
  • socket_dev.full_scans.listList full scansread
  • socket_dev.full_scans.rescanRescan full scanwrite
Repo labels7
  • socket_dev.repo_labels.associateAssociate repository label (beta)write
  • socket_dev.repo_labels.createCreate repository label (beta)write
  • socket_dev.repo_labels.deleteDelete repository label (beta)destructive
  • socket_dev.repo_labels.disassociateDisassociate repository label (beta)write
  • socket_dev.repo_labels.getGet repository label (beta)read
  • socket_dev.repo_labels.listList repository labels (beta)read
  • socket_dev.repo_labels.updateUpdate repository label (beta)write
Repos6
  • socket_dev.repos.createCreate repositorywrite
  • socket_dev.repos.deleteDelete repositorydestructive
  • socket_dev.repos.getGet repositoryread
  • socket_dev.repos.listList repositoriesread
  • socket_dev.repos.list_legacyList GitHub repositoriesread
  • socket_dev.repos.updateUpdate repositorywrite
Alert policies5
  • socket_dev.alert_policies.createCreate Org Alert Policywrite
  • socket_dev.alert_policies.deleteDelete Org Alert Policydestructive
  • socket_dev.alert_policies.getGet Org Alert Policyread
  • socket_dev.alert_policies.listList Org Alert Policiesread
  • socket_dev.alert_policies.updateUpdate Org Alert Policywrite
Alert policy rules5
  • socket_dev.alert_policy_rules.createCreate Org Alert Policy Rulewrite
  • socket_dev.alert_policy_rules.deleteDelete Org Alert Policy Ruledestructive
  • socket_dev.alert_policy_rules.getGet Org Alert Policy Ruleread
  • socket_dev.alert_policy_rules.listList Org Alert Policy Rulesread
  • socket_dev.alert_policy_rules.updateUpdate Org Alert Policy Rulewrite
API tokens5
  • socket_dev.api_tokens.createCreate API Tokenwrite
  • socket_dev.api_tokens.listList API Tokensread
  • socket_dev.api_tokens.revokeRevoke API Tokendestructive
  • socket_dev.api_tokens.rotateRotate API Tokendestructive
  • socket_dev.api_tokens.updateUpdate API Tokenwrite
Diff scans5
  • socket_dev.diff_scans.create_from_idsCreate diff scan from full scan IDswrite
  • socket_dev.diff_scans.deleteDelete diff scandestructive
  • socket_dev.diff_scans.getGet diff scanread
  • socket_dev.diff_scans.get_gfmSCM Comment for Diff Scanread
  • socket_dev.diff_scans.listList diff scansread
Webhooks5
  • socket_dev.webhooks.createCreate a webhookwrite
  • socket_dev.webhooks.deleteDelete webhookdestructive
  • socket_dev.webhooks.getGet webhookread
  • socket_dev.webhooks.listList all webhooksread
  • socket_dev.webhooks.updateUpdate webhookwrite
Alert resolutions4
  • socket_dev.alert_resolutions.createCreate Org Alert Resolutionwrite
  • socket_dev.alert_resolutions.deleteDelete Org Alert Resolutiondestructive
  • socket_dev.alert_resolutions.getGet Org Alert Resolutionread
  • socket_dev.alert_resolutions.listList Org Alert Resolutionsread
License policy4
  • socket_dev.license_policy.getGet Organization License Policyread
  • socket_dev.license_policy.saturateSaturate License Policy (Legacy)read
  • socket_dev.license_policy.updateUpdate License Policywrite
  • socket_dev.license_policy.viewGet License Policy (Beta)read
Reports4
  • socket_dev.reports.deleteDelete a reportdestructive
  • socket_dev.reports.getView a reportread
  • socket_dev.reports.get_supported_filesGet supported files for reportread
  • socket_dev.reports.listGet list of reportsread
Alert triage3
  • socket_dev.alert_triage.deleteDelete Org Alert Triagedestructive
  • socket_dev.alert_triage.listList Org Alert Triageread
  • socket_dev.alert_triage.updateCreate/Update Org Alert Triagewrite
Packages3
  • socket_dev.packages.checkEvaluate package versions against organization policyread
  • socket_dev.packages.list_versionsList published versions for a package by PURLread
  • socket_dev.packages.summarizeSummarize package intelligence and findingsread
Repo label settings3
  • socket_dev.repo_label_settings.deleteDelete repository label setting (beta)destructive
  • socket_dev.repo_label_settings.getGet repository label setting (beta)read
  • socket_dev.repo_label_settings.updateUpdate repository label setting (beta)write
Threat campaigns3
  • socket_dev.threat_campaigns.getGet a threat campaignread
  • socket_dev.threat_campaigns.listList threat campaignsread
  • socket_dev.threat_campaigns.list_packagesList packages for a threat campaignread
Alert policy migration2
  • socket_dev.alert_policy_migration.get_statusGet Org Alert Policy Migration Statusread
  • socket_dev.alert_policy_migration.translateTranslate Org Alert Triageread
Alerts2
  • socket_dev.alerts.listList latest alerts (Beta)read
  • socket_dev.alerts.list_full_scansList full scans associated with alert (Beta)read
Analytics2
  • socket_dev.analytics.get_orgGet organization analytics (unstable)read
  • socket_dev.analytics.get_repoGet repository analyticsread
Events2
  • socket_dev.events.createPost organization eventswrite
  • socket_dev.events.listList organization eventsread
Fix computations2
  • socket_dev.fix_computations.createStart fix computationwrite
  • socket_dev.fix_computations.getGet fix computationread
Historical alerts2
  • socket_dev.historical_alerts.listList historical alerts (Beta)read
  • socket_dev.historical_alerts.trendTrend of historical alerts (Beta)read
Historical snapshots2
  • socket_dev.historical_snapshots.createStart historical data snapshot job (Beta)write
  • socket_dev.historical_snapshots.listList details of periodic historical data snapshots (Beta)read
NPM packages2
  • socket_dev.npm_packages.get_issuesGet issues by packageread
  • socket_dev.npm_packages.get_scoreGet score by packageread
Openapi2
  • socket_dev.openapi.getReturns the OpenAPI definitionread
  • socket_dev.openapi.get_v1Returns the OpenAPI definitionread
Security policy2
  • socket_dev.security_policy.getGet Organization Security Policyread
  • socket_dev.security_policy.updateUpdate Security Policywrite
Telemetry config2
  • socket_dev.telemetry_config.getGet Organization Telemetry Configread
  • socket_dev.telemetry_config.updateUpdate Telemetry Configwrite
Threat feed2
  • socket_dev.threat_feed.listGet Threat Feed Items (Beta)read
  • socket_dev.threat_feed.list_legacyGet Threat Feed Items (Deprecated)read
Alert types1
  • socket_dev.alert_types.queryAlert Types Metadataread
Audit log1
  • socket_dev.audit_log.listGet Audit Log Eventsread
Dependencies1
  • socket_dev.dependencies.searchSearch dependenciesread
Fixes1
  • socket_dev.fixes.getFetch fixes for vulnerabilities in a repository, scan, or uploaded manifestread
Historical dependencies1
  • socket_dev.historical_dependencies.trendTrend of historical dependencies (Beta)read
Integration events1
  • socket_dev.integration_events.listGet integration eventsread
License metadata1
  • socket_dev.license_metadata.queryLicense Metadataread
Organizations1
  • socket_dev.organizations.listList organizationsread
Quota1
  • socket_dev.quota.getGet quotaread
Settings1
  • socket_dev.settings.queryCalculate settingsread
Socket basics1
  • socket_dev.socket_basics.getGet Socket Basics configuration, including toggles for the various tools it supports.read
Supported files1
  • socket_dev.supported_files.getGet supported file typesread

Questions

The Socket MCP server, answered.

Is there a Socket MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 107 Socket actions across full scans, repo labels, repos and alert policies, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Socket.

What do I need to connect Socket?

Socket organization API token (Socket dashboard > Settings > API Tokens). The free call account { op: "connections.requirements", service: "socket_dev" } lists exactly what to paste.

Can an AI agent delete or change things in Socket?

Only if its key allows it, and only with an explicit confirmation. 13 Socket actions are destructive, including delete Org Alert Policy, delete repository and delete webhook. 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 Socket API limit?

actionlake paces every call to the limits in the Socket service file: 5 calls a second per connection. Repeated reads are answered from cache (62 Socket actions can be), which never reaches Socket.

What does a Socket action cost?

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

The Socket API v0 (OpenAPI 3.0.0) and v1 (OpenAPI 3.1.0) at api.socket.dev. It is built from Socket's documentation as read on 23 October 2026. 107 actions in 39 areas, each one in the signed service file (version 1.0.0).

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

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