{
  "name": "Freaking Fast File Drive",
  "description": "A private file drive with fast links, as an agent. Give it a task and it does it in your drive with your own model: finds, organizes and shares files, saves files sent with the task or at a link, collects files from other people, and runs reviews. Links stream from the closest of 11 regions.",
  "supportedInterfaces": [
    {
      "url": "https://mcp.freakingfast.io/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "organization": "Absurd Technologies",
    "url": "https://freakingfast.io"
  },
  "version": "2026.10.2",
  "documentationUrl": "https://freakingfast.io/developers/a2a",
  "capabilities": {
    "streaming": false,
    "pushNotifications": true,
    "extendedAgentCard": false
  },
  "securitySchemes": {
    "freakingFast": {
      "oauth2SecurityScheme": {
        "description": "Sign in to Freaking Fast and choose how much of the drive to allow.",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://mcp.freakingfast.io/authorize",
            "tokenUrl": "https://mcp.freakingfast.io/token",
            "refreshUrl": "https://mcp.freakingfast.io/token",
            "scopes": {
              "files:read": "Read the drive",
              "files:organize": "Read and organize the drive, but make nothing public, send nothing out and delete nothing",
              "files:share": "Read, organize and share the drive, but delete nothing",
              "files:full": "Read, organize, share and delete in the drive"
            },
            "pkceRequired": true
          }
        },
        "oauth2MetadataUrl": "https://mcp.freakingfast.io/.well-known/oauth-authorization-server"
      }
    },
    "apiToken": {
      "httpAuthSecurityScheme": {
        "description": "A Freaking Fast API token, made in the app under API tokens, where it can be given limits.",
        "scheme": "Bearer"
      }
    }
  },
  "securityRequirements": [
    {
      "schemes": {
        "freakingFast": {
          "list": [
            "files:read"
          ]
        }
      }
    },
    {
      "schemes": {
        "apiToken": {
          "list": []
        }
      }
    }
  ],
  "defaultInputModes": [
    "text/plain",
    "application/json",
    "*/*"
  ],
  "defaultOutputModes": [
    "text/plain"
  ],
  "skills": [
    {
      "id": "save-file",
      "name": "Save and share a file",
      "description": "Save a file sent with the task, or one at an https link that the drive fetches itself, and return a link. Public links stream in any player; private ones last 6 hours.",
      "tags": [
        "file-transfer",
        "upload",
        "import",
        "storage",
        "sharing"
      ],
      "examples": [
        "Save this delivery link to my drive",
        "Put the dataset at this URL in /Data"
      ]
    },
    {
      "id": "share-file",
      "name": "Get a download link",
      "description": "Issue a fresh time-limited download URL for a stored file, or make a file permanently public.",
      "tags": [
        "file-transfer",
        "sharing",
        "links"
      ],
      "examples": [
        "Give me a link to that file",
        "Make this file public"
      ]
    },
    {
      "id": "find-files",
      "name": "Find a file",
      "description": "Find stored files by words in a name, title or tag, type, folder, when they were uploaded or taken, length, size, a track's tempo or key, or where a photo was taken.",
      "tags": [
        "search",
        "file-management",
        "music",
        "photos"
      ],
      "examples": [
        "Find the interview I uploaded in March",
        "Which of my tracks are around 128 BPM in A minor?",
        "Show me the photos I took in Lisbon"
      ]
    },
    {
      "id": "look-at-files",
      "name": "Look at a file",
      "description": "Look at a photo, the frame of a video at a given moment, or the text of a PDF or a text file in the drive, and answer about it.",
      "tags": [
        "vision",
        "photos",
        "video",
        "documents"
      ],
      "examples": [
        "Which of these shots has the best light?",
        "What is on screen at 0:05 in the new cut?",
        "What does the contract say about payment?"
      ]
    },
    {
      "id": "organize-library",
      "name": "Organize files",
      "description": "Tag files, put them in folders, and gather audio and video into playlists and images into galleries, each with a page to share.",
      "tags": [
        "file-management",
        "organization",
        "playlists",
        "galleries"
      ],
      "examples": [
        "Tag everything from the Harbor shoot and put it in /Clients/Harbor",
        "Make a playlist of these mixes",
        "Put the best ten photos from the trip in a gallery"
      ]
    },
    {
      "id": "file-views",
      "name": "See who opened a file",
      "description": "Report how often shared and public files were opened, and which of the people they were shared with opened them.",
      "tags": [
        "analytics",
        "sharing"
      ],
      "examples": [
        "Has the client watched the cut yet?",
        "Which of my files got the most views this month?"
      ]
    },
    {
      "id": "request-files",
      "name": "Collect files from someone",
      "description": "Make a link anyone can send files to without an account, into a folder of the drive, and report what arrived and from whom.",
      "tags": [
        "file-transfer",
        "upload",
        "collaboration"
      ],
      "examples": [
        "Ask the client for the raw footage",
        "Make a link the band can send their stems to",
        "Has anything come in on the Harbor request?"
      ]
    },
    {
      "id": "generate-image",
      "name": "Make an image",
      "description": "Generate an image from a prompt on the account's plan, save it to the drive, and put it on a track, video or playlist as its cover.",
      "tags": [
        "image-generation",
        "cover-art",
        "music"
      ],
      "examples": [
        "Make cover art for this track",
        "Make a header image for the trip gallery"
      ]
    },
    {
      "id": "review-loop",
      "name": "Run a review",
      "description": "Send a video or track out for timestamped notes without an account, read them as an edit list, reply, and resolve them.",
      "tags": [
        "review",
        "video",
        "collaboration",
        "feedback"
      ],
      "examples": [
        "Send the cut to the client for notes",
        "What did they say about the new version?",
        "Tell them the logo is fixed in v3"
      ]
    },
    {
      "id": "wait-and-act",
      "name": "Wait for something, then act",
      "description": "Wait for files to arrive at a request, notes on a review, someone opening a file, files landing in a folder, or an image to finish, then carry on with the task. With a push notification config, the caller hears how it goes without asking.",
      "tags": [
        "automation",
        "events",
        "review",
        "file-transfer"
      ],
      "examples": [
        "When the client sends the raw footage, make a review link for it and send it to Sam",
        "Tell me when the client has opened the cut",
        "Reply to each note on the review as it comes in"
      ]
    },
    {
      "id": "manage-library",
      "name": "Manage stored files",
      "description": "List, trash, restore, and permanently delete stored files, and report storage usage.",
      "tags": [
        "file-management",
        "storage",
        "cleanup"
      ],
      "examples": [
        "What files do I have stored?",
        "How much storage am I using?",
        "Delete that upload"
      ]
    }
  ]
}
