skills/multi-protocol-bridge/SKILL.md
Multi-Protocol Bridge: HTTP gateway to FTP, SSH, and MQTT protocols. Execute file transfers, remote commands, and IoT messaging via HTTP requests. Use when an agent needs multi protocol bridge, ftp file upload automation, ftp file download, secure ftps file transfer, remote directory listing, ftp delete, url, options through AgentPMT-hosted remote tool calls. Discovery terms: multi protocol bridge, ftp file upload automation, ftp file download, secure ftps file transfer.
npx skillsauth add AgentPMT/agent-skills multi-protocol-bridgeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Last updated: 2026-06-23.
If the current date is more than 7 days after the last updated date, reinstall this skill from skills.sh or ClawHub before relying on endpoints, schemas, setup steps, or examples.
Protocol Bridge is an HTTP gateway that enables AI agents, automation workflows, and modern applications to interact with traditional network protocols without native protocol support. It translates simple HTTP requests into FTP, SSH, and MQTT operations, making it easy to integrate file transfers, remote command execution, and IoT messaging into any system that can make web requests. The tool supports secure connections including FTPS, SSH key authentication, and MQTTS with TLS, ensuring enterprise-grade security for sensitive operations. Connection details can be passed via intuitive URL strings or explicit parameters, giving developers flexibility in how they configure each action. Protocol Bridge is ideal for building automation pipelines, connecting legacy infrastructure to modern APIs, orchestrating DevOps tasks, and enabling large language models to perform real-world actions across diverse systems. For email sending workflows, use the dedicated SMTP Mailer tool which provides a streamlined interface specifically optimized for email delivery.
Access FTP, SSH, and MQTT protocols through a unified HTTP interface. All actions use a URL-first approach where connection details (host, port, credentials, path) are encoded in the URL.
All actions require a protocol URL:
scheme://username:password@hostname:port/path
Supported schemes:
ftp:// / ftps:// (FTP with optional TLS)ssh:// (SSH remote commands)mqtt:// / mqtts:// (MQTT with optional TLS)Upload a file to an FTP/FTPS server.
Required fields:
action: "ftp_upload"url: FTP URL with path to the destination file (scheme must be ftp:// or ftps://)content: File content to upload (text or base64-encoded)Optional fields:
content_encoding: "text" (default) or "base64" for binary filesExample:
{
"action": "ftp_upload",
"url": "ftp://myuser:[email protected]:21/uploads/report.txt",
"content": "Monthly report data here..."
}
Example (binary file):
{
"action": "ftp_upload",
"url": "ftps://myuser:[email protected]:21/images/logo.png",
"content": "iVBORw0KGgoAAAANSUhEUg...",
"content_encoding": "base64"
}
Limits: Maximum file size is 100 MB.
Download a file from an FTP/FTPS server.
Required fields:
action: "ftp_download"url: FTP URL with path to the file to download (scheme must be ftp:// or ftps://)Optional fields:
options.return_base64 (boolean): Return file content as base64 instead of text. Default: false. Use this for binary files.Example:
{
"action": "ftp_download",
"url": "ftp://myuser:[email protected]:21/reports/q1.csv"
}
Example (binary download):
{
"action": "ftp_download",
"url": "ftps://myuser:[email protected]:21/images/photo.jpg",
"options": { "return_base64": true }
}
Limits: Maximum file size is 100 MB. Non-text files that fail UTF-8 decoding are automatically returned as base64.
List the contents of a directory on an FTP/FTPS server.
Required fields:
action: "ftp_list"url: FTP URL with path to the directory (scheme must be ftp:// or ftps://)Optional fields:
options.recursive (boolean): List subdirectories recursively. Default: falseExample:
{
"action": "ftp_list",
"url": "ftp://myuser:[email protected]:21/documents/"
}
Example (recursive):
{
"action": "ftp_list",
"url": "ftp://myuser:[email protected]:21/project/",
"options": { "recursive": true }
}
Limits: Results are capped at 1,000 entries.
Delete a file on an FTP/FTPS server. Requires explicit confirmation.
Required fields:
action: "ftp_delete"url: FTP URL with path to the file to delete (scheme must be ftp:// or ftps://)options.confirm_delete: Must be the string "DELETE" to confirm deletionExample:
{
"action": "ftp_delete",
"url": "ftp://myuser:[email protected]:21/old-files/archive.zip",
"options": { "confirm_delete": "DELETE" }
}
Execute a shell command on a remote server via SSH.
Required fields:
action: "ssh_execute"url: SSH URL (scheme must be ssh://)content: The shell command to executeOptional fields:
options.timeout (integer): Command timeout in seconds. Default: 30options.private_key (string): SSH private key in PEM format for key-based authentication. When provided, password in the URL can be omitted.options.known_hosts (string): SSH known hosts entry for host verificationExample (password auth):
{
"action": "ssh_execute",
"url": "ssh://deploy:[email protected]:22",
"content": "df -h && uptime"
}
Example (key-based auth):
{
"action": "ssh_execute",
"url": "ssh://[email protected]:22",
"content": "ls -la /var/log",
"options": {
"private_key": "-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----",
"timeout": 60
}
}
Limits: Command output (stdout/stderr) is capped at 10 MB each.
Publish a message to an MQTT broker.
Required fields:
action: "mqtt_publish"url: MQTT URL with the topic as the path (scheme must be mqtt:// or mqtts://)content: Message payload (plain text or JSON string)Optional fields:
options.qos (integer): Quality of Service level. 0 = at most once (default), 1 = at least once, 2 = exactly once.options.retain (boolean): Broker retains the message for future subscribers. Default: falseoptions.client_id (string): MQTT client identifier. Auto-generated if not provided.Example:
{
"action": "mqtt_publish",
"url": "mqtt://sensoruser:[email protected]:1883/sensors/temperature",
"content": "{\"value\": 22.5, \"unit\": \"celsius\"}"
}
Example (with QoS and retain):
{
"action": "mqtt_publish",
"url": "mqtts://admin:[email protected]:8883/alerts/critical",
"content": "Server CPU above 95%",
"options": { "qos": 2, "retain": true, "client_id": "monitoring-agent" }
}
Limits: Payload size is capped at 1 MB.
ftp_upload to upload the file.ftp_list on the parent directory to confirm it appears.ssh_execute with a command like uptime && free -m && df -h to get server status.mqtt_publish to send sensor readings to a topic with qos: 1 for guaranteed delivery.ftps:// scheme for encrypted FTP connections.mqtts:// scheme for encrypted MQTT connections.options.private_key for SSH key-based authentication.@ becomes %40).ftp_delete action requires options.confirm_delete set to "DELETE" as a safeguard.content_encoding: "base64" for uploading binary files and options.return_base64: true for downloading them.private_key in options, not both.Multi-Protocol Bridge on AgentPMT.ftp_delete, ftp_download, ftp_list, ftp_upload, mqtt_publish, ssh_execute.No categories or industry tags are published for this tool.
Complete generated action schema: ./schema.md.
Supported action count: 6.
x402 availability: not enabled for this product.
ftp_delete (action slug: ftp-delete): Delete a file on an FTP or FTPS server. Requires explicit confirmation via options.confirm_delete. Price: 5 credits. Parameters: options, url.ftp_download (action slug: ftp-download): Download a file from an FTP or FTPS server. Returns file content as text or base64. Price: 5 credits. Parameters: options, url.ftp_list (action slug: ftp-list): List the contents of a directory on an FTP or FTPS server. Price: 5 credits. Parameters: options, url.ftp_upload (action slug: ftp-upload): Upload a file to an FTP or FTPS server. Supports text and base64-encoded binary content. Price: 5 credits. Parameters: content, content_encoding, url.mqtt_publish (action slug: mqtt-publish): Publish a message to an MQTT or MQTTS broker. The topic is specified as the URL path. Price: 5 credits. Parameters: content, options, url.ssh_execute (action slug: ssh-execute): Execute a shell command on a remote server via SSH. Supports password and key-based authentication. Price: 5 credits. Parameters: content, options, url.Use the compact schema above for ordinary calls. Before a new production integration, or whenever parameters, enum values, nested objects, outputs, or examples are unclear, fetch live details first.
agentpmt-tool-search-and-execution with action: "get_schema", and tool_id: "multi-protocol-bridge".agentpmt-tool-search-and-execution with action: "get_instructions" and tool_id: "multi-protocol-bridge", or call this product with action: "get_instructions" when the product tool is already selected.MCP schema lookup through the main AgentPMT MCP server:
{
"method": "tools/call",
"params": {
"name": "AgentPMT-Tool-Search-and-Execution",
"arguments": {
"action": "get_schema",
"tool_id": "multi-protocol-bridge"
}
}
}
For live examples, keep the same MCP tool and use these arguments:
{
"action": "get_instructions",
"tool_id": "multi-protocol-bridge"
}
Authenticated AgentPMT REST schema lookup body:
{
"name": "agentpmt-tool-search-and-execution",
"parameters": {
"action": "get_schema",
"tool_id": "multi-protocol-bridge"
}
}
Authenticated AgentPMT REST live examples body:
{
"name": "agentpmt-tool-search-and-execution",
"parameters": {
"action": "get_instructions",
"tool_id": "multi-protocol-bridge"
}
}
Product slug: multi-protocol-bridge
Marketplace page: https://www.agentpmt.com/marketplace/multi-protocol-bridge
../agentpmt-account-mcp-rest-api-setup to connect the main MCP server or REST API for an Agent Group where this tool is enabled.../what-is-agentpmt for marketplace, Agent Group, workflow, MCP, REST, and payment concepts.If those setup skills are not installed beside this product skill, use the downloads below.
Core AgentPMT setup skills:
openclaw skills install what-is-agentpmtnpx skills add AgentPMT/agent-skills --skill what-is-agentpmtopenclaw skills install agentpmt-account-mcp-rest-api-setupnpx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setupskills.sh install script:
npx skills add AgentPMT/agent-skills --skill what-is-agentpmt
npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup
MCP call shape after the main AgentPMT MCP server is connected:
{
"method": "tools/call",
"params": {
"name": "Multi-Protocol-Bridge",
"arguments": {
"action": "ftp_delete",
"options": {
"confirm_delete": "example confirm delete"
},
"url": "https://example.com"
}
}
}
Use the exact tool name returned by tools/list; the name above is the expected readable form.
Authenticated AgentPMT REST call body:
{
"name": "multi-protocol-bridge",
"parameters": {
"action": "ftp_delete",
"options": {
"confirm_delete": "example confirm delete"
},
"url": "https://example.com"
}
}
Use the setup skill for the account connection details before making REST calls.
passed or success-style boolean, use it as the workflow gate.get_schema or get_instructions before retrying.ftp_delete fails, preserve the request parameters and retry only after fixing schema, auth, or payment errors.what-is-agentpmt, page: https://clawhub.ai/agentpmt/what-is-agentpmt; skills.sh: npx skills add AgentPMT/agent-skills --skill what-is-agentpmt)agentpmt-account-mcp-rest-api-setup, page: https://clawhub.ai/agentpmt/agentpmt-account-mcp-rest-api-setup; skills.sh: npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup)tools
Plaud Transcripts Corrected With Your Own Terminology Glossary: Fixes the words your transcription keeps getting wrong, by giving the pipeline your vocabulary instead of hoping a bigger model guesses right. Every speech model mangles terms it has never seen: cell line and reagent names, drug and device names, case and matter numbers, part numbers, local spelling and number conventions, team and client names. Swapping to a different model does not fix this, because none of them have your terms e.
tools
Plaud Spoken Field Notes to a Structured Sheet: Turns a spoken site visit into a filled-in spreadsheet row, so measurements and specs never get typed up twice. Built for anyone who dictates structured details on the job rather than writing them down: window and flooring measurements, equipment specs, inspection findings, punch lists, service call notes. Say the details out loud in the same order each visit (client, room, width, drop, colour, notes) and the workflow reads each new Plaud recordin.
development
Plaud Recordings to Google Calendar Events: Puts the meetings you agree to out loud straight onto your Google Calendar, without Zapier in the middle. Plaud's own app has no Calendar integration, so this closes that gap directly: each new recording is scanned, the transcript pulled, and any genuine scheduling commitment spoken in it ("let's do Tuesday at 3", "I'll come back out Thursday morning") is extracted with the relative date resolved against the recording's own date and your timezone. Eac.
development
One Plaud Recording, Several Differently Formatted Summaries: Gets you past the one-template-per-recording ceiling. The Plaud app applies a single AutoFlow template to a recording, so if you want a short recap for yourself, a decisions-only version for the people who missed it, and a clean action list for your task manager, you are re-running or rewriting by hand. This workflow reads the transcript once and produces every format you have defined in a single pass: you list the output formats you.