Connectors · Developer & infrastructure
Harbor MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Harbor and the rest of your systems. It gives your agent 197 Harbor actions (106 reads, 67 writes and 24 that wait for a confirmation) and holds the Harbor credential itself, so the agent never does. It paces Harbor'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: "harbor.user.list_users", intent: "check which Harbor account is connected"}# List users · read · 1 upstream call- 197actionsin one signed file
- 106readlook, never change
- 67writecreate and update
- 24wait for a yesdestructive, confirmed first
Set up
Connect Harbor 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 Harbor.
Username and secret. 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.
usernameHarbor username, or a robot account's full name (e.g. robot$library+ci)passwordThe user's password (or OIDC CLI secret), or the robot account's secrethostWhere your Harbor lives: your host
account { op: "connections.requirements", service: "harbor" } # 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: "harbor.user.list_users" }# list users · read · 1 upstream callcheck { action: "harbor.user.create_user", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Harbor at a glance
- Sign-in
- Username and secret. 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
usernamepassword- Setup fields
host- Limits we pace to
- 20 calls a second, per connection
- API covered
- Harbor API v2.0 (Swagger 2.0, 2.0), at your Harbor instance's API base URL, which you enter when connecting (path /api/v2.0)
- Built from
- Harbor's documentation, read 23 October 2026OpenAPI spec (GitHub)goharbor.io
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 91 of 106 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 5, so ask can line Harbor up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Harbor.
197 actions in 38 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 106readlook, never change
- 67writecreate and update
- 24destructivewait for a confirmation
Preheat
189 read · 7 write · 2 destructive
Create p2p provider instances · Create a preheat policy under a project · List executions for the given policy · List P2P provider instances
Project
1410 read · 3 write · 1 destructive
Create a new project. · Get recent logs of the projects · Get recent logs of the projects (deprecated) · List artifacts
Artifact
126 read · 3 write · 3 destructive
List artifacts · List tags · Create tag · Get the specific artifact
User
115 read · 4 write · 2 destructive
List users · Get current user info. · Create a local user. · Get a user's profile.
Replication
105 read · 4 write · 1 destructive
Create a replication policy · List replication executions · List replication policies · List replication tasks for a specific execution
Registry
95 read · 3 write · 1 destructive
Create a registry · List the registries · Get the specific registry · Update the registry
Retention
94 read · 4 write · 1 destructive
Create Retention Policy · Get Retention executions · Get Retention tasks · Trigger a Retention Execution
Webhook
96 read · 2 write · 1 destructive
Create project webhook policy. · Get project webhook policy last trigger info · List executions for a specific webhook policy · List tasks for a specific webhook execution
30 more areas · 105 actions
- Scanner 8
- GC 6
- Purge 6
- Robot 6
- Scan all 6
- Usergroup 6
- Jobservice 5
- Label 5
- Member 5
- Project metadata 5
- Repository 5
- Role 5
- Immutable 4
- Ldap 4
- Auditlog 3
- Configure 3
- Quota 3
- Scan data export 3
- Scan 2
- Schedule 2
- Securityhub 2
- System cve allowlist 2
- Systeminfo 2
- Health 1
- Icon 1
- Oidc 1
- Permissions 1
- Search 1
- Statistic 1
- Webhookjob 1
Top actions
The Harbor API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 37 of Harbor's 38 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
harbor.user.list_usersList users | List users. | read | identity.user.list474 connectors |
harbor.usergroup.list_user_groupsGet all user groups information | Get all user groups information. | read | identity.group.list262 connectors |
harbor.user.get_current_user_infoGet current user info. | Get current user info. | read | identity.current_user.get307 connectors |
harbor.user.create_userCreate a local user. | Create a local user. | write | identity.user.create262 connectors |
harbor.robot.list_robotGet robot account | Get robot account. | read | identity.service_account.list35 connectors |
harbor.usergroup.create_user_groupCreate user group | Create user group. | write | identity.group.create205 connectors |
harbor.user.delete_userMark a registered user as be removed. | Mark a registered user as be removed. | destructive | identity.user.delete253 connectors |
harbor.repository.list_all_repositoriesList all authorized repositories | List all authorized repositories. | read | devops.repository.list28 connectors |
harbor.robot.create_robotCreate a robot account | Create a robot account. | write | identity.service_account.create32 connectors |
harbor.role.list_roleGet roles | Get roles. | read | identity.role.list184 connectors |
harbor.role.create_roleCreate a role | Create a role. | write | identity.role.create105 connectors |
harbor.repository.get_repositoryGet repository | Get repository. | read | devops.repository.get26 connectors |
Try it
Prompts to paste into Claude.
Each one names the Harbor actions it will call, so you know what it reads and what it changes before you send it.
- Readread
List our Harbor repositories with their visibility and default branch.
calls
harbor.repository.list_all_repositories - Writewrite
Create a local user in Harbor. Show me exactly what you will send before you save it.
calls
harbor.user.create_user
Governance for Harbor
Destructive actions wait for a yes.
24 Harbor actions are destructive. These are all of them:
- Mark a registered user as be removed.
harbor.user.delete_user - Delete user group
harbor.usergroup.delete_user_group - Delete a robot account
harbor.robot.delete_robot - Delete a role account
harbor.role.delete_role - Delete repository
harbor.repository.delete_repository - Delete the specific artifact
harbor.artifact.delete_artifact - Delete tag
harbor.artifact.delete_tag - Delete the specific registry
harbor.registry.delete_registry - Delete the label specified by ID.
harbor.label.delete_label - Remove label from artifact
harbor.artifact.remove_label - Delete a preheat policy
harbor.preheat.delete_policy - Delete project by projectID
harbor.project.delete_project - Delete a scanner registration
harbor.scanner.delete_scanner - Delete the specified P2P provider instance
harbor.preheat.delete_instance - Update a registered user to change to be an administrator of Harbor.
harbor.user.set_user_sys_admin - Delete the immutable tag rule.
harbor.immutable.delete_immu_rule - Delete Retention Policy
harbor.retention.delete_retention - Create a purge job schedule.
harbor.purge.create_purge_schedule - Update purge job's schedule.
harbor.purge.update_purge_schedule - Delete project member
harbor.member.delete_project_member - Delete the specific replication policy
harbor.replication.delete_replication_policy - Delete the specific metadata for the specific project
harbor.project_metadata.delete_project_metadata - Delete webhook policy of a project
harbor.webhook.delete_webhook_policy_of_project - Stop the specific purge audit log execution
harbor.purge.stop_purge
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.
Mark a registered user as be removed.?
intent: the user asked me to mark a registered user as be removed.
account { op: "keys.create", name: "harbor-agent", allowed_actions: ["harbor.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "harbor.user.delete_user", approver: "[email protected]" }, { match: "harbor.usergroup.delete_user_group", approver: "[email protected]" }, { match: "harbor.robot.delete_robot", approver: "[email protected]" } ]}Cost
What Harbor costs on actionlake.
Every Harbor action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Harbor 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 197 Harbor actions
- 197actions pageeach page of a long list is one call
- 91reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Harbor action.
197 actions by area: the id your agent calls, what it does, and its effect.
Preheat18
harbor.preheat.create_instanceCreate p2p provider instanceswriteharbor.preheat.create_policyCreate a preheat policy under a projectwriteharbor.preheat.delete_instanceDelete the specified P2P provider instancedestructiveharbor.preheat.delete_policyDelete a preheat policydestructiveharbor.preheat.get_executionGet an execution detail by idreadharbor.preheat.get_instanceGet a P2P provider instancereadharbor.preheat.get_policyGet a preheat policyreadharbor.preheat.list_executionsList executions for the given policyreadharbor.preheat.list_instancesList P2P provider instancesreadharbor.preheat.list_policiesList preheat policiesreadharbor.preheat.list_providersList P2P providersreadharbor.preheat.list_providers_under_projectGet all providers at project levelreadharbor.preheat.list_tasksList all the related tasks for the given executionreadharbor.preheat.manual_preheatManual preheatwriteharbor.preheat.ping_instancesPing status of an instance.writeharbor.preheat.stop_executionStop an executionwriteharbor.preheat.update_instanceUpdate the specified P2P provider instancewriteharbor.preheat.update_policyUpdate preheat policywrite
Project14
harbor.project.create_projectCreate a new project.writeharbor.project.delete_projectDelete project by projectIDdestructiveharbor.project.get_log_extsGet recent logs of the projectsreadharbor.project.get_logsGet recent logs of the projects (deprecated)readharbor.project.get_projectReturn specific project detail informationreadharbor.project.get_project_deletableGet the deletable status of the projectreadharbor.project.get_project_summaryGet summary of the project.readharbor.project.get_scanner_of_projectGet project level scannerreadharbor.project.head_projectCheck if the project name user provided already exists.readharbor.project.list_artifacts_of_projectList artifactsreadharbor.project.list_projectsList projectsreadharbor.project.list_scanner_candidates_of_projectGet scanner registration candidates for configurating project level scannerreadharbor.project.set_scanner_of_projectConfigure scanner for the specified projectwriteharbor.project.update_projectUpdate properties for a selected project.write
Artifact12
harbor.artifact.add_labelAdd label to artifactwriteharbor.artifact.copy_artifactCopy artifactwriteharbor.artifact.create_tagCreate tagwriteharbor.artifact.delete_artifactDelete the specific artifactdestructiveharbor.artifact.delete_tagDelete tagdestructiveharbor.artifact.get_additionGet the addition of the specific artifactreadharbor.artifact.get_artifactGet the specific artifactreadharbor.artifact.get_vulnerabilities_additionGet the vulnerabilities addition of the specific artifactreadharbor.artifact.list_accessoriesList accessoriesreadharbor.artifact.list_artifactsList artifactsreadharbor.artifact.list_tagsList tagsreadharbor.artifact.remove_labelRemove label from artifactdestructive
User11
harbor.user.create_userCreate a local user.writeharbor.user.delete_userMark a registered user as be removed.destructiveharbor.user.get_current_user_infoGet current user info.readharbor.user.get_current_user_permissionsGet current user permissions.readharbor.user.get_userGet a user's profile.readharbor.user.list_usersList usersreadharbor.user.search_usersSearch users by usernamereadharbor.user.set_cli_secretSet CLI secret for a user.writeharbor.user.set_user_sys_adminUpdate a registered user to change to be an administrator of Harbor.destructiveharbor.user.update_user_passwordChange the password on a user that already exists.writeharbor.user.update_user_profileUpdate user's profile.write
Replication10
harbor.replication.create_replication_policyCreate a replication policywriteharbor.replication.delete_replication_policyDelete the specific replication policydestructiveharbor.replication.get_replication_executionGet the specific replication executionreadharbor.replication.get_replication_policyGet the specific replication policyreadharbor.replication.list_replication_executionsList replication executionsreadharbor.replication.list_replication_policiesList replication policiesreadharbor.replication.list_replication_tasksList replication tasks for a specific executionreadharbor.replication.start_replicationStart one replication executionwriteharbor.replication.stop_replicationStop the specific replication executionwriteharbor.replication.update_replication_policyUpdate the replication policywrite
Registry9
harbor.registry.create_registryCreate a registrywriteharbor.registry.delete_registryDelete the specific registrydestructiveharbor.registry.get_registryGet the specific registryreadharbor.registry.get_registry_infoGet the registry inforeadharbor.registry.list_registriesList the registriesreadharbor.registry.list_registry_provider_infosList all registered registry provider informationreadharbor.registry.list_registry_provider_typesList registry adaptersreadharbor.registry.ping_registryCheck status of a registrywriteharbor.registry.update_registryUpdate the registrywrite
Retention9
harbor.retention.create_retentionCreate Retention Policywriteharbor.retention.delete_retentionDelete Retention Policydestructiveharbor.retention.get_rentenition_metadataGet Retention Metadatasreadharbor.retention.get_retentionGet Retention Policyreadharbor.retention.list_retention_executionsGet Retention executionsreadharbor.retention.list_retention_tasksGet Retention tasksreadharbor.retention.operate_retention_executionStop a Retention executionwriteharbor.retention.trigger_retention_executionTrigger a Retention Executionwriteharbor.retention.update_retentionUpdate Retention Policywrite
Webhook9
harbor.webhook.create_webhook_policy_of_projectCreate project webhook policy.writeharbor.webhook.delete_webhook_policy_of_projectDelete webhook policy of a projectdestructiveharbor.webhook.get_supported_event_typesGet supported event types and notify types.readharbor.webhook.get_webhook_policy_of_projectGet project webhook policyreadharbor.webhook.last_triggerGet project webhook policy last trigger inforeadharbor.webhook.list_executions_of_webhook_policyList executions for a specific webhook policyreadharbor.webhook.list_tasks_of_webhook_executionList tasks for a specific webhook executionreadharbor.webhook.list_webhook_policies_of_projectList project webhook policies.readharbor.webhook.update_webhook_policy_of_projectUpdate webhook policy of a project.write
Scanner8
harbor.scanner.create_scannerCreate a scanner registrationwriteharbor.scanner.delete_scannerDelete a scanner registrationdestructiveharbor.scanner.get_scannerGet a scanner registration detailsreadharbor.scanner.get_scanner_metadataGet the metadata of the specified scanner registrationreadharbor.scanner.list_scannersList scanner registrationsreadharbor.scanner.ping_scannerTests scanner registration settingswriteharbor.scanner.set_scanner_as_defaultSet system default scanner registrationwriteharbor.scanner.update_scannerUpdate a scanner registrationwrite
GC6
harbor.gc.create_gc_scheduleCreate a gc schedule.writeharbor.gc.get_gcGet gc status.readharbor.gc.get_gc_historyGet gc results.readharbor.gc.get_gc_scheduleGet gc's schedule.readharbor.gc.stop_gcStop the specific GC executionwriteharbor.gc.update_gc_scheduleUpdate gc's schedule.write
Purge6
harbor.purge.create_purge_scheduleCreate a purge job schedule.destructiveharbor.purge.get_purge_historyGet purge job results.readharbor.purge.get_purge_jobGet purge job status.readharbor.purge.get_purge_scheduleGet purge's schedule.readharbor.purge.stop_purgeStop the specific purge audit log executiondestructiveharbor.purge.update_purge_scheduleUpdate purge job's schedule.destructive
Robot6
harbor.robot.create_robotCreate a robot accountwriteharbor.robot.delete_robotDelete a robot accountdestructiveharbor.robot.get_robot_by_idGet a robot accountreadharbor.robot.list_robotGet robot accountreadharbor.robot.refresh_secRefresh the robot secretwriteharbor.robot.update_robotUpdate a robot accountwrite
Scan all6
harbor.scan_all.create_scan_all_scheduleCreate a schedule or a manual trigger for the scan all job.writeharbor.scan_all.get_latest_scan_all_metricsGet the metrics of the latest scan all processreadharbor.scan_all.get_latest_scheduled_scan_all_metricsGet the metrics of the latest scheduled scan all processreadharbor.scan_all.get_scan_all_scheduleGet scan all's schedule.readharbor.scan_all.stop_scan_allStop scanAll job executionwriteharbor.scan_all.update_scan_all_scheduleUpdate scan all's schedule.write
Usergroup6
harbor.usergroup.create_user_groupCreate user groupwriteharbor.usergroup.delete_user_groupDelete user groupdestructiveharbor.usergroup.get_user_groupGet user group informationreadharbor.usergroup.list_user_groupsGet all user groups informationreadharbor.usergroup.search_user_groupsSearch groups by groupnamereadharbor.usergroup.update_user_groupUpdate group informationwrite
Jobservice5
harbor.jobservice.action_pending_jobsstop and clean, pause, resume pending jobs in the queuewriteharbor.jobservice.get_worker_poolsGet worker poolsreadharbor.jobservice.get_workersGet workersreadharbor.jobservice.list_job_queueslist job queuesreadharbor.jobservice.stop_running_jobStop running jobwrite
Label5
harbor.label.create_labelPost creates a labelwriteharbor.label.delete_labelDelete the label specified by ID.destructiveharbor.label.get_label_by_idGet the label specified by ID.readharbor.label.list_labelsList labels according to the query strings.readharbor.label.update_labelUpdate the label properties.write
Member5
harbor.member.create_project_memberCreate project memberwriteharbor.member.delete_project_memberDelete project memberdestructiveharbor.member.get_project_memberGet the project member informationreadharbor.member.list_project_membersGet all project member informationreadharbor.member.update_project_memberUpdate project memberwrite
Project metadata5
harbor.project_metadata.add_project_metadatasAdd metadata for the specific projectwriteharbor.project_metadata.delete_project_metadataDelete the specific metadata for the specific projectdestructiveharbor.project_metadata.get_project_metadataGet the specific metadata of the specific projectreadharbor.project_metadata.list_project_metadatasGet the metadata of the specific projectreadharbor.project_metadata.update_project_metadataUpdate the specific metadata for the specific projectwrite
Repository5
harbor.repository.delete_repositoryDelete repositorydestructiveharbor.repository.get_repositoryGet repositoryreadharbor.repository.list_all_repositoriesList all authorized repositoriesreadharbor.repository.list_repositoriesList repositoriesreadharbor.repository.update_repositoryUpdate repositorywrite
Role5
harbor.role.create_roleCreate a rolewriteharbor.role.delete_roleDelete a role accountdestructiveharbor.role.get_role_by_idGet a rolereadharbor.role.list_roleGet rolesreadharbor.role.update_roleUpdate a role accountwrite
Immutable4
harbor.immutable.create_immu_ruleAdd an immutable tag rule to current projectwriteharbor.immutable.delete_immu_ruleDelete the immutable tag rule.destructiveharbor.immutable.list_immu_rulesList all immutable tag rules of current projectreadharbor.immutable.update_immu_ruleUpdate the immutable tag rule or enable or disable the rulewrite
Ldap4
harbor.ldap.import_ldap_userImport selected available ldap users.writeharbor.ldap.ping_ldapPing available ldap service.writeharbor.ldap.search_ldap_groupSearch available ldap groups.readharbor.ldap.search_ldap_userSearch available ldap users.read
Auditlog3
harbor.auditlog.list_audit_log_event_typesGet all event types of audit logreadharbor.auditlog.list_audit_log_extsGet recent logs of the projects which the user is a member with project_admin role, or return all audit logs for system admin userreadharbor.auditlog.list_audit_logsGet recent logs of projects which the user is a member with project admin role, or return all audit logs for system admin user (deprecated)read
Configure3
harbor.configure.get_configurationsGet system configurations.readharbor.configure.get_internalconfigGet internal configurations.readharbor.configure.update_configurationsModify system configurations.write
Quota3
harbor.quota.get_quotaGet the specified quotareadharbor.quota.list_quotasList quotasreadharbor.quota.update_quotaUpdate the specified quotawrite
Scan data export3
harbor.scan_data_export.export_scan_dataExport scan data for selected projectswriteharbor.scan_data_export.get_scan_data_export_executionGet the specific scan data export executionreadharbor.scan_data_export.get_scan_data_export_execution_listGet a list of specific scan data export execution jobs for a specified userread
Scan2
harbor.scan.scan_artifactScan the artifactwriteharbor.scan.stop_scan_artifactCancelling a scan job for a particular artifactwrite
Schedule2
harbor.schedule.get_schedule_pausedGet scheduler paused statusreadharbor.schedule.list_schedulesList schedulesread
Securityhub2
harbor.securityhub.get_security_summaryGet vulnerability system summaryreadharbor.securityhub.list_vulnerabilitiesGet the vulnerability list.read
System cve allowlist2
harbor.system_cve_allowlist.get_system_cve_allowlistGet the system level allowlist of CVE.readharbor.system_cve_allowlist.put_system_cve_allowlistUpdate the system level allowlist of CVE.write
Systeminfo2
harbor.systeminfo.get_system_infoGet general system inforeadharbor.systeminfo.get_volumesGet system volume info (total/free size).read
Health1
harbor.health.get_healthCheck the status of Harbor componentsread
Icon1
harbor.icon.get_iconGet artifact iconread
Oidc1
harbor.oidc.ping_oidcTest the OIDC endpoint.write
Permissions1
harbor.permissions.get_permissionsGet system or project level permissions info.read
Search1
harbor.search.searchSearch for projects and repositoriesread
Statistic1
harbor.statistic.get_statisticGet the statistic information about the projects and repositoriesread
Webhookjob1
harbor.webhookjob.list_webhook_jobsList project webhook jobsread
Questions
The Harbor MCP server, answered.
Is there a Harbor MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 197 Harbor actions across preheat, project, artifact and user, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Harbor.
What do I need to connect Harbor?
Harbor username, or a robot account's full name (e.g. robot$library+ci) and The user's password (or OIDC CLI secret), or the robot account's secret. Plus your host. The free call account { op: "connections.requirements", service: "harbor" } lists exactly what to paste.
Can an AI agent delete or change things in Harbor?
Only if its key allows it, and only with an explicit confirmation. 24 Harbor actions are destructive, including mark a registered user as be removed., delete user group and delete a robot account. 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 Harbor API limit?
actionlake paces every call to the limits in the Harbor service file: 20 calls a second per connection. Repeated reads are answered from cache (91 Harbor actions can be), which never reaches Harbor.
What does a Harbor action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (197 Harbor actions page). Cache hits, searches, dry runs and calls Harbor 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 Harbor API does it cover?
The Harbor API v2.0 (Swagger 2.0, 2.0) at your Harbor instance's API base URL, which you enter when connecting (path /api/v2.0). It is built from Harbor's documentation as read on 23 October 2026. 197 actions in 38 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Harbor 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 Harbor 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 Harbor today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.