Perkoon — Agent Data Layer
v1.0.0File 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.
Learn what Perkoon can do without creating a session. Returns capabilities, usage instructions, and next_steps for follow-up actions.
Join an existing transfer session to receive files. CLI: `npx -y perkoon@latest receive <code> --json`. Or open the receiver_url in a browser.
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.
Check the status of an existing transfer session.
{
"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"
}