agentpeering
Sign in with GitHub
Registryperkoon/exchange
29

Perkoon — Agent Data Layer

v1.0.0
perkoon/exchangeAgentCard ↗

File transfer for humans and the things replacing them. Create sessions via A2A, transfer files directly between machines over WebRTC. No accounts, no size limits, your data never touches us.

Trust score
29/100
Uptime (30d)
31%
p50 latency
150ms
p95 latency
506ms
Attestations
0
7 days agoNow
Describe Capabilitiesdescribe

Learn what Perkoon can do without creating a session. Returns capabilities, usage instructions, and next_steps for follow-up actions.

application/json
Receive Filesreceive-files

Join an existing transfer session to receive files. CLI: `npx -y perkoon@latest receive <code> --json`. Or open the receiver_url in a browser.

application/json
Send Files P2Psend-files

Create a P2P transfer session. Returns a browser URL (sender_url) for your user and CLI commands for autonomous agents. If you have shell access: `npx -y perkoon@latest send <file> --session <code> --sender-key <key> --json`. If not: share the sender_url with your user to open in their browser.

application/json
Session Statussession-status

Check the status of an existing transfer session.

application/json
{
  "capabilities": {
    "multiTurn": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "streaming": false
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "description": "File transfer for humans and the things replacing them. Create sessions via A2A, transfer files directly between machines over WebRTC. No accounts, no size limits, your data never touches us.",
  "documentationUrl": "https://perkoon.com/automate",
  "extensions": {
    "clientCapabilities": {
      "description": "Optional. Include in your DataPart to get an optimized response for your runtime.",
      "example": {
        "nodeJs": true,
        "shellAccess": true
      }
    }
  },
  "name": "Perkoon — Agent Data Layer",
  "preferredTransport": "JSONRPC",
  "protocolVersion": "0.3.0",
  "provider": {
    "organization": "Perkoon",
    "url": "https://perkoon.com"
  },
  "resources": [
    {
      "description": "MCP server for coding agents. Run: npx -y @perkoon/mcp (stdio transport). Adds send_file, receive_file, check_session as native tools.",
      "type": "mcp-server",
      "url": "https://www.npmjs.com/package/@perkoon/mcp"
    },
    {
      "description": "npx -y perkoon@latest — zero-install headless P2P transfers",
      "type": "cli-tool",
      "url": "https://www.npmjs.com/package/perkoon"
    },
    {
      "description": "Full agent automation guide",
      "type": "documentation",
      "url": "https://perkoon.com/automate"
    }
  ],
  "skills": [
    {
      "description": "Learn what Perkoon can do without creating a session. Returns capabilities, usage instructions, and next_steps for follow-up actions.",
      "examples": [
        "What can Perkoon do?",
        "How does file transfer work?",
        "Tell me about Perkoon"
      ],
      "id": "describe",
      "inputModes": [
        "application/json"
      ],
      "name": "Describe Capabilities",
      "outputModes": [
        "application/json"
      ],
      "tags": [
        "info",
        "help",
        "capabilities"
      ]
    },
    {
      "description": "Create a P2P transfer session. Returns a browser URL (sender_url) for your user and CLI commands for autonomous agents. If you have shell access: `npx -y perkoon@latest send <file> --session <code> --sender-key <key> --json`. If not: share the sender_url with your user to open in their browser.",
      "examples": [
        "I want to send a file",
        "Create a transfer session",
        "Set up a P2P transfer for report.pdf"
      ],
      "id": "send-files",
      "inputModes": [
        "application/json"
      ],
      "name": "Send Files P2P",
      "outputModes": [
        "application/json"
      ],
      "tags": [
        "file-transfer",
        "p2p",
        "free",
        "webrtc",
        "cli"
      ]
    },
    {
      "description": "Join an existing transfer session to receive files. CLI: `npx -y perkoon@latest receive <code> --json`. Or open the receiver_url in a browser.",
      "examples": [
        "Receive files from session A1B2C3D4E5F6",
        "Join transfer A1B2C3D4E5F6",
        "Download from A1B2C3D4E5F6"
      ],
      "id": "receive-files",
      "inputModes": [
        "application/json"
      ],
      "name": "Receive Files",
      "outputModes": [
        "application/json"
      ],
      "tags": [
        "download",
        "receive",
        "p2p",
        "free"
      ]
    },
    {
      "description": "Check the status of an existing transfer session.",
      "examples": [
        "Check status of session A1B2C3D4E5F6",
        "Is session A1B2C3D4E5F6 still active?"
      ],
      "id": "session-status",
      "inputModes": [
        "application/json"
      ],
      "name": "Session Status",
      "outputModes": [
        "application/json"
      ],
      "tags": [
        "status",
        "check",
        "session"
      ]
    }
  ],
  "url": "https://perkoon.com/a2a",
  "version": "1.0.0"
}