MCP server
Give Claude, ChatGPT or any MCP client your drive. Connect the hosted server and sign in, or run the server yourself with an API token.
- Endpoint
- mcp.freakingfast.io/mcp
- Transport
- Streamable HTTP
- Sign-in
- OAuth 2.1
Connect a client#
Add the connector
Connector URLhttps://mcp.freakingfast.io/ mcp In Claude, add it as a custom connector in settings. It follows you into the Claude apps. In ChatGPT, add it as a connector in settings. Any other client that takes a remote MCP server takes the same URL.
Claude Codeclaude mcp add --transport http freakingfast https://mcp.freakingfast.io/ mcp Sign in and choose what it can do
Your browser opens the drive, where you pick how much the app reaches, where, and for how long. Nothing is let in until you allow it.
Ask
The tools a connection can't use aren't offered to it at all, so the model never reaches for something it would be refused.
What you allow#
Each level adds to the one before it. An app that asks for less can't be given more.
| Level | Scope | What it can do |
|---|---|---|
| Read | files:read | What it can doFind, open and link to your files, and see who opened them. |
| Organize | files:organize | What it can doAlso tag, move, add and arrange files. Nothing it does shows to anyone else, and nothing gets deleted. |
| Share | files:share | What it can doAlso make files public, send them out for review, collect files from anyone, and save files from links. Nothing gets deleted. |
| Everything | files:full | What it can doAlso delete files. |
One folder#
Held to a folder, an app sees that folder and the ones inside it. Files it adds land there, and the tools that reach across the whole drive, like collections and image generation, are left out.
How long#
Choose when it stops working: never, a day, a week, a month or 3 months. Until then its access token lasts an hour at a time and renews itself.
Run it yourself#
freaking-fast-mcp runs the same tools on your machine, where it can also upload straight from your disk. It needs Node 20 or later and an API token.
claude mcp add freakingfast -e FREAKING_FAST_API_TOKEN=<token> -- npx -y freaking-fast-mcp{
"mcpServers": {
"freakingfast": {
"command": "npx",
"args": ["-y", "freaking-fast-mcp"],
"env": { "FREAKING_FAST_API_TOKEN": "<token>" }
}
}
}- Uploads stream from disk, so a 2 TB file never has to fit in memory.
- Storage is checked before an upload starts. If a file won't fit, you find out right away.
- Uploading the same file again, with the same name, size and modified time, returns the one already stored.
- The token buys a session that lasts a day, renewed a minute before it runs out.
Tools#
Every tool, the least it needs, and whether an app held to one folder still has it. The hosted server has all of them but upload_file, which reads your disk.
Files#
| Tool | What it does | Needs |
|---|---|---|
| upload_file | Streams a file from disk and returns its link | NeedsOrganizeOn your machine only |
| import_from_url | Brings a file at a link into the drive, fetched by the drive | NeedsShare |
| get_download_url | Gets a fresh 6-hour link for a stored file, or a public file's lasting page | NeedsRead |
| read_file | Shows the model what's in a file: an image, a video's frame, a PDF's or text file's text | NeedsRead |
| set_file_visibility | Makes files public or private | NeedsOrganizeShare to make public |
| list_files | Lists the library, newest first, a page at a time | NeedsRead |
| search_files | Finds files by words, type, tag, folder, date, length, size, tempo, key or place | NeedsRead |
| delete_files | Moves files to the trash, or deletes them for good | NeedsEverything |
| restore_files | Brings files back from the trash | NeedsOrganize |
| get_storage_usage | Reports used, limit, and remaining storage | NeedsReadWhole drive |
Organize#
| Tool | What it does | Needs |
|---|---|---|
| tag_files | Adds or removes tags by name | NeedsOrganize |
| move_files | Puts files in a folder by path, making it if needed | NeedsOrganize |
| list_collections | Lists folders, playlists, galleries and tags | NeedsReadWhole drive |
| create_playlist | Makes a playlist from audio and video | NeedsOrganizeWhole drive |
| add_to_playlist | Adds audio and video to a playlist | NeedsOrganizeWhole drive |
| create_gallery | Makes a photo gallery and picks what goes up front | NeedsOrganizeWhole drive |
| add_to_gallery | Adds images to a gallery | NeedsOrganizeWhole drive |
| set_cover | Puts an image on a track, video or playlist as its cover | NeedsOrganizeWhole drive |
Collect and review#
| Tool | What it does | Needs |
|---|---|---|
| create_file_request | Makes a link anyone can send files to, no account needed | NeedsShare |
| list_file_requests | Shows what arrived on each request, and from whom | NeedsRead |
| close_file_request | Stops a request taking files, or opens it again | NeedsOrganizeShare to reopen |
| create_review_link | Sends a video or track out for timestamped notes | NeedsShare |
| get_review_notes | Reads the notes as an edit list, by timecode | NeedsRead |
| reply_to_note | Answers a note, like "fixed in v3" | NeedsShareWhole drive |
| resolve_note | Marks a note dealt with, or opens it again | NeedsOrganizeWhole drive |
Keep up#
| Tool | What it does | Needs |
|---|---|---|
| get_file_views | Reports how often files were opened, and which people they were shared with did | NeedsRead |
| get_changes | Catches up on what happened: files sent in, notes, views, new files, finished images | NeedsRead |
Images#
| Tool | What it does | Needs |
|---|---|---|
| generate_image | Makes an image with the plan's models and saves it to the drive | NeedsOrganizeWhole drive |
| get_generated_image | Picks up an image that was still being made | NeedsReadWhole drive |
Activity and disconnecting#
Every app you connect, and every tool it calls, is listed under API tokens in the app, newest first, with what it touched. Disconnecting an app there stops it within a minute, and ends anything it had waiting.