filescom-remote-servers

SkillFiles & storage

A RemoteServer is a specific type of Behavior called `remote_server_sync`.

Use filescom-remote-servers in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add filescom-remote-servers and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the filescom-remote-servers skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

filescom-remote-serversStart free

What this skill tells your AI

The instructions your AI receives, as published by files-com/files-cli in skills/filescom-remote-servers/SKILL.md and read by Ahel’s review.

A RemoteServer is a specific type of Behavior called remote_server_sync.

Remote Servers can be either an FTP server, SFTP server, S3 bucket, Google Cloud Storage, Wasabi, Backblaze B2 Cloud Storage, Rackspace Cloud Files container, WebDAV, Box, Dropbox, OneDrive, SharePoint, Google Drive, Azure Blob Storage, or Files.com direct link.

Not every attribute will apply to every remote server.

FTP Servers require that you specify their hostname, port, username, password, and a value for ssl. Optionally, provide server_certificate.

SFTP Servers require that you specify their hostname, port, username, password or private_key, and a value for ssl. Optionally, provide server_certificate, private_key_passphrase.

S3 Buckets require that you specify their s3_bucket name, and s3_region. Optionally provide a aws_access_key, and aws_secret_key. If you don't provide credentials, you will need to use AWS to grant us access to your bucket.

S3-Compatible Buckets require that you specify s3_compatible_bucket, s3_compatible_endpoint, s3_compatible_access_key, and s3_compatible_secret_key. Optionally provide s3_compatible_virtual_hosted_style to use virtual-hosted-style URLs instead of path-style URLs.

Google Cloud Storage requires that you specify google_cloud_storage_bucket, and then one of the following sets of authentication credentials, selected by google_cloud_storage_authentication_method (defaults to json):

  • for JSON authentication: google_cloud_storage_project_id, and google_cloud_storage_credentials_json
  • for HMAC (S3-Compatible) authentication: google_cloud_storage_s3_compatible_access_key, and google_cloud_storage_s3_compatible_secret_key
  • for OAuth authentication: google_cloud_storage_oauth_scope, then follow the auth_setup_link and login with Google

Wasabi requires wasabi_bucket, wasabi_region, wasabi_access_key, and wasabi_secret_key.

Backblaze B2 Cloud Storage backblaze_b2_bucket, backblaze_b2_s3_endpoint, backblaze_b2_application_key, and backblaze_b2_key_id. (Requires S3 Compatible API) See https://help.backblaze.com/hc/en-us/articles/360047425453

WebDAV Servers require that you specify their hostname, username, and password.

OneDrive follow the auth_setup_link and login with Microsoft.

SharePoint supports delegated authentication through auth_setup_link, or app-only authentication with sharepoint_tenant_id, sharepoint_client_id, and either sharepoint_client_secret or sharepoint_client_certificate. Set sharepoint_site_url to scope the remote server to a site granted through Microsoft Graph Sites.Selected; leave it blank to browse all sites.

Box follow the auth_setup_link and login with Box.

Dropbox specify if dropbox_teams then follow the auth_setup_link and login with Dropbox.

Google Drive follow the auth_setup_link and login with Google.

Azure Blob Storage azure_blob_storage_account, azure_blob_storage_container, azure_blob_storage_access_key, azure_blob_storage_sas_token, azure_blob_storage_dns_suffix

Azure File Storage azure_files_storage_account, azure_files_storage_access_key, azure_files_storage_share_name, azure_files_storage_dns_suffix

Filebase requires filebase_bucket, filebase_access_key, and filebase_secret_key.

Cloudflare requires cloudflare_bucket, cloudflare_access_key, cloudflare_secret_key and cloudflare_endpoint.

Linode requires linode_bucket, linode_access_key, linode_secret_key and linode_region.

All subcommands also accept the flags documented in CONTEXT.md (--api-key, --format, --workspace-id, --debug, and the pagination flags --cursor / --per-page / --max-pages on list). Those are not repeated below.

Commands

files-cli remote-servers list

List Remote Servers.

FlagTypeDescription
--user-idint64User ID. Provide a value of 0 to operate the current session's user.
--sort-byobjectIf set, sort records by the specified field in either asc or desc direction. Valid fields are workspace_id, name, server_type, backblaze_b2_bucket, google_cloud_storage_bucket, wasabi_bucket, s3_bucket, azure_blob_storage_container, azure_files_storage_share_name, s3_compatible_bucket, filebase_bucket, cloudflare_bucket or linode_bucket.
--filterobjectIf set, return records where the specified field is equal to the supplied value. Valid fields are name, server_type, workspace_id, backblaze_b2_bucket, google_cloud_storage_bucket, wasabi_bucket, s3_bucket, azure_blob_storage_container, azure_files_storage_share_name, s3_compatible_bucket, filebase_bucket, cloudflare_bucket or linode_bucket. Valid field combinations are [ server_type, name ], [ workspace_id, name ], [ backblaze_b2_bucket, name ], [ google_cloud_storage_bucket, name ], [ wasabi_bucket, name ], [ s3_bucket, name ], [ azure_blob_storage_container, name ], [ azure_files_storage_share_name, name ], [ s3_compatible_bucket, name ], [ filebase_bucket, name ], [ cloudflare_bucket, name ], [ linode_bucket, name ], [ workspace_id, server_type ] or [ workspace_id, server_type, name ].
--filter-prefixobjectIf set, return records where the specified field is prefixed by the supplied value. Valid fields are name, backblaze_b2_bucket, google_cloud_storage_bucket, wasabi_bucket, s3_bucket, azure_blob_storage_container, azure_files_storage_share_name, s3_compatible_bucket, filebase_bucket, cloudflare_bucket or linode_bucket. Valid field combinations are [ backblaze_b2_bucket, name ], [ google_cloud_storage_bucket, name ], [ wasabi_bucket, name ], [ s3_bucket, name ], [ azure_blob_storage_container, name ], [ azure_files_storage_share_name, name ], [ s3_compatible_bucket, name ], [ filebase_bucket, name ], [ cloudflare_bucket, name ] or [ linode_bucket, name ].

files-cli remote-servers find

Show Remote Server.

FlagTypeDescription
--idint64Remote Server ID. Required.

files-cli remote-servers agent-nodes

List Files.com Agent nodes.

FlagTypeDescription
--idint64Remote Server ID. Required.

files-cli remote-servers find-configuration-file

Download configuration file (required for some Remote Server integrations, such as the Files.com Agent).

FlagTypeDescription
--idint64Remote Server ID. Required.

files-cli remote-servers create

Create Remote Server.

FlagTypeDescription
--user-idint64User ID. Provide a value of 0 to operate the current session's user.
--passwordstringPassword, if needed.
--private-keystringPrivate key, if needed.
--private-key-passphrasestringPassphrase for private key if needed.
--reset-authenticationboolReset authenticated account?
--sharepoint-client-certificatestringSharePoint: PEM-encoded certificate and unencrypted private key for app-only authentication.
--sharepoint-client-secretstringSharePoint: Microsoft Entra application client secret for app-only authentication.
--ssl-certificatestringSSL client certificate.
--aws-secret-keystringAWS: secret key.
--azure-blob-storage-access-keystringAzure Blob Storage: Access Key
--azure-blob-storage-sas-tokenstringAzure Blob Storage: Shared Access Signature (SAS) token
--azure-files-storage-access-keystringAzure File Storage: Access Key
--azure-files-storage-sas-tokenstringAzure File Storage: Shared Access Signature (SAS) token
--backblaze-b2-application-keystringBackblaze B2 Cloud Storage: applicationKey
--backblaze-b2-key-idstringBackblaze B2 Cloud Storage: keyID
--cloudflare-secret-keystringCloudflare: Secret Key
--filebase-secret-keystringFilebase: Secret Key
--google-cloud-storage-credentials-jsonstringGoogle Cloud Storage: JSON file that contains the private key. To generate see https://cloud.google.com/storage/docs/json_api/v1/how-tos/authorizing#APIKey
--google-cloud-storage-s3-compatible-secret-keystringGoogle Cloud Storage: S3-compatible secret key
--linode-secret-keystringLinode: Secret Key
--s3-compatible-secret-keystringS3-compatible: Secret Key
--wasabi-secret-keystringWasabi: Secret Key
--allow-relative-pathsboolAllow relative paths in SFTP. If true, paths will not be forced to be absolute, allowing operations relative to the user's home directory.
--aws-access-keystringAWS Access Key.
--azure-blob-storage-accountstringAzure Blob Storage: Account name
--azure-blob-storage-containerstringAzure Blob Storage: Container name
--azure-blob-storage-dns-suffixstringAzure Blob Storage: Custom DNS suffix
--azure-blob-storage-hierarchical-namespaceboolAzure Blob Storage: Does the storage account has hierarchical namespace feature enabled?
--azure-files-storage-accountstringAzure Files: Storage Account name
--azure-files-storage-dns-suffixstringAzure Files: Custom DNS suffix
--azure-files-storage-share-namestringAzure Files: Storage Share name
--backblaze-b2-bucketstringBackblaze B2 Cloud Storage: Bucket name
--backblaze-b2-s3-endpointstringBackblaze B2 Cloud Storage: S3 Endpoint
--buffer-uploadsenumIf set to always, uploads to this server will be uploaded first to Files.com before being sent to the remote server. This can improve performance in certain access patterns, such as high-latency connections. It will cause data to be temporarily stored in Files.com. If set to auto, we will perform this optimization if we believe it to be a benefit in a given situation. One of: auto, always, never.
--cloudflare-access-keystringCloudflare: Access Key.
--cloudflare-bucketstringCloudflare: Bucket name
--cloudflare-endpointstringCloudflare: endpoint
--descriptionstringInternal description for your reference
--dropbox-teamsboolDropbox: If true, list Team folders in root?
--enable-dedicated-ipsbooltrue if remote server only accepts connections from dedicated IPs
--filebase-access-keystringFilebase: Access Key.
--filebase-bucketstringFilebase: Bucket name
--files-api-keystringFiles.com direct link: API key used once to pair the remote server.
--files-agent-permission-setenumAgent file permissions: read_only, write_only, or read_write. Files.com writes this value as permission_set in the configuration file generated for this Remote Server. Setting it on Create or Update changes the generated file, not a running Agent. The Agent enforces the permissions in its local configuration file, controlled by the host's system administrator, and reports them at registration, replacing the stored value. One of: read_write, read_only, write_only.
--files-agent-rootstringAgent local root path. Files.com writes this value as root in the configuration file generated for this Remote Server. Setting it on Create or Update changes the generated file, not a running Agent. The Agent enforces the root in its local configuration file, controlled by the host's system administrator, and reports it at registration, replacing the stored value.
--files-agent-versionstringFiles.com Agent version reported by the Agent at each registration, replacing the stored value. This field is not included in the generated Agent configuration file. Setting it on Create or Update does not update the running Agent.
--outbound-agent-idint64Route traffic to outbound on a files-agent
--custom-domain-idint64Custom Domain ID whose dedicated IP addresses are selected when this Remote Server uses dedicated IPs. Must be available to this Remote Server's workspace. Requires enable_dedicated_ips and cannot be combined with an outbound Agent. Set to null to use the site's default dedicated IPs.
--google-cloud-storage-authentication-methodenumGoogle Cloud Storage: Authentication method. Can be json, hmac, or oauth. One of: json, hmac, oauth.
--google-cloud-storage-bucketstringGoogle Cloud Storage: Bucket Name
--google-cloud-storage-oauth-scopestringGoogle Cloud Storage: OAuth scope. Can be https://www.googleapis.com/auth/devstorage.read_only or https://www.googleapis.com/auth/devstorage.read_write.
--google-cloud-storage-project-idstringGoogle Cloud Storage: Project ID
--google-cloud-storage-s3-compatible-access-keystringGoogle Cloud Storage: S3-compatible Access Key.
--hostnamestringHostname or IP address. For Agent Remote Servers, the Agent reports the hostname it connects from at each registration, replacing the stored value. This field is not included in the generated Agent configuration file. Setting it on Create or Update does not change the running Agent.
--linode-access-keystringLinode: Access Key
--linode-bucketstringLinode: Bucket name
--linode-regionstringLinode: region
--max-connectionsint64Max number of parallel connections. Ignored for S3 connections (we will parallelize these as much as possible).
--namestringInternal name for your reference
--one-drive-account-typeenumOneDrive: Either personal or business_other account types. One of: personal, business_other.
--pin-to-site-regionboolIf true, we will ensure that all communications with this remote server are made through the primary region of the site. This setting can also be overridden by a site-wide setting which will force it to true.
--portint64Port for remote server. For Agent Remote Servers, the Agent reports its downstream proxy port at each registration, replacing the stored value. This field is not included in the generated Agent configuration file. Setting it on Create or Update does not change the running Agent.
--upload-staging-pathstringUpload staging path. Applies to SFTP only. If a path is provided here, files will first be uploaded to this path on the remote folder and the moved into the final correct path via an SFTP move command. This is required by some remote MFT systems to emulate atomic uploads, which are otherwise not supoprted by SFTP.
--remote-server-credential-idint64ID of Remote Server Credential, if applicable.
--s3-assume-role-arnstringAWS IAM Role ARN for AssumeRole authentication.
--s3-assume-role-duration-secondsint64Session duration in seconds for AssumeRole authentication (900-43200).
--s3-bucketstringS3 bucket name
--s3-compatible-access-keystringS3-compatible: Access Key
--s3-compatible-bucketstringS3-compatible: Bucket name
--s3-compatible-endpointstringS3-compatible: endpoint
--s3-compatible-regionstringS3-compatible: region
--s3-compatible-virtual-hosted-styleboolS3-compatible: If true, use virtual-hosted-style URLs instead of path-style URLs
--s3-regionstringS3 region
--server-certificateenumRemote server certificate. One of: require_match, allow_any.
--server-host-keystringPinned SSH host key or OpenSSH host certificate for SFTP. If omitted, Files.com detects and stores a host key, preferring plain keys over certificates. With server_certificate=require_match (the default), the server must present the exact pinned key or certificate and prove it holds the matching private key. A pinned certificate is compared in full, so renewal can require updating server_host_key even when its underlying key is unchanged. Files.com does not check certificate CA signatures, principals, or validity periods. Certificate expiration alone does not end the pin. Update server_host_key to replace the pin.
--server-typeenumRemote server type. One of: ftp, sftp, s3, google_cloud_storage, webdav, wasabi, backblaze_b2, one_drive, box, dropbox, google_drive, azure, sharepoint, s3_compatible, azure_files, files_agent, filebase, cloudflare, linode, files_com.
--sharepoint-client-idstringSharePoint: Microsoft Entra application client ID for app-only authentication.
--sharepoint-site-urlstringSharePoint: Site URL to scope app-only authentication to a single site. Leave blank to browse all sites.
--sharepoint-tenant-idstringSharePoint: Microsoft Entra tenant ID for app-only authentication.
--sslenumShould we require SSL?. One of: if_available, require, require_implicit, never.
--usernamestringRemote server username.
--wasabi-access-keystringWasabi: Access Key.
--wasabi-bucketstringWasabi: Bucket name
--wasabi-regionstringWasabi: Region
--workspace-idint64Workspace ID (0 for default workspace)

files-cli remote-servers agent-push-update

Push update to Files Agent.

FlagTypeDescription
--idint64Remote Server ID. Required.

files-cli remote-servers update

Update Remote Server.

Shortened here. Read the whole file on GitHub.

Signals

GitHub stars
46
Forks
4
Last commit
Oct 2026
Advanced
Item type
skill
Key
filescom-remote-servers
Source
github.com/files-com/files-cli