Back to Perkoon — Agent Data Layer
Card snapshot
perkoon.com
·
2026-05-18 12:29:23 UTC
·
17cbd69620fb312bcdd429a531bcf898c7cb7c6cdb1d2abe3d7077b86a3fbf6c
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"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 \u2014 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 \u2014 zero-install headless P2P transfers",
"type": "cli-tool",
"url": "https://www.npmjs.com/package/perkoon"
},
{
"description": "Browser-context session-creation entry. POST form fields: session[source]=agent_browser (or agent_skill for discovery attribution) and session[tos_accepted]=true. Returns 302 to /<SESSION_CODE> with TOS auto-accepted. REQUIRES CSRF token + session cookie (Phoenix browser pipeline) \u2014 works seamlessly from a Playwright browser context. For cookie-less agents (curl, MCP, scripts), use POST /a2a JSON-RPC at the `url` field above instead.",
"method": "POST",
"type": "http-entry-point",
"url": "https://perkoon.com/create"
},
{
"description": "Claude Skill (`skills/perkoon/SKILL.md`) \u2014 drop into your project's `skills/` or `.claude/skills/` directory. Frontmatter `name: perkoon` triggers on send/receive intent. Body documents all four entry points (MCP, CLI, A2A, browser) with concrete invocation examples and stable selectors.",
"type": "claude-skill",
"url": "https://perkoon.com/skills/perkoon/SKILL.md"
},
{
"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.4.0"
}