MCP server

Let your AI agent share files from your own bucket

aktar mcp connects Claude, Cursor, VS Code, Codex and other agents to the Aktar app. Ask for a link and the agent uploads the file to your own S3, Cloudflare R2 or Backblaze B2 bucket, then hands you the URL or Markdown. Your storage keys never leave Aktar.

1Install the CLI
npm install -g @getaktar/cli
2Add it to Claude Code
claude mcp add --scope user aktar -- aktar mcp

Then run aktar login once. Cursor, VS Code, Codex and others are below.

Upload the checkout-bug screenshot on my Desktop and give me a Markdown link for the issue.

Called Aktarupload_file{ "path": "~/Desktop/checkout-bug.png" }

Uploaded to your Screenshots destination. Here's the Markdown for the issue:

![checkout-bug.png](https://files.example.com/2026/10/7f3c2a91.png)

What you can ask

Say it the way you'd say it to a colleague. The agent picks the tool, Aktar does the upload with the destination's own settings, and you get the link in the conversation.

  • Share a file from a session

    “Zip the build and give me a link I can send to QA.”

    The agent makes the file and uploads it. Without a destination named, Aktar picks one by file type (each destination's Use For), like a drop on the menu bar.

    Tools: upload_file

  • Images for a README or an issue

    “Add the screenshot I just copied to the README.”

    It uploads the image, or what's on the clipboard, and writes the Markdown where it belongs. WebP conversion and location removal happen in Aktar, as the destination says.

    Tools: upload_file, upload_clipboard

  • Update a file, keep its link

    “Replace the onboarding PDF I shared last week with this new version.”

    It finds the upload in history and writes the new file over it. Everyone who has the link sees the new version; nothing needs to be sent again.

    Tools: search_uploads, replace_file

  • Find what you uploaded

    “What was the link to the invoice I uploaded on Monday?”

    It searches Aktar's history by name and date, and can look at thumbnails to tell screenshots, photos and documents apart.

    Tools: search_uploads, get_thumbnail

  • A link that expires

    “Give me a 30-minute link to the contract in the Legal bucket.”

    A presigned link to any file in a bucket, for private buckets or sharing for a limited time. Nothing in the bucket changes.

    Tools: create_temporary_link

  • Look around your buckets

    “What's in the releases folder of my Builds bucket?”

    It lists folders and files, including ones not uploaded with Aktar, and knows which destination is used for which file types.

    Tools: list_bucket, list_destinations

Set up in two steps

Aktar for Mac or Windows does the uploading, so it has to be running on the same computer as your agent.

  1. Install the aktar command and connect it to Aktar. In Aktar, open Settings > Integrations, turn on Allow local connections and copy the token, then paste it into aktar login.

    npm install -g @getaktar/cli
    aktar login
  2. Add Aktar to your agent. The agent starts aktar mcp by itself when it needs it.

    Claude Code

    One command, for every project. Check with /mcp in Claude Code.

    claude mcp add --scope user aktar -- aktar mcp

    Codex

    One command; it goes into ~/.codex/config.toml.

    codex mcp add aktar -- aktar mcp

    Claude Desktop

    Open Settings > Developer > Edit Config, add this, and restart Claude Desktop.

    In claude_desktop_config.json
    {
      "mcpServers": {
        "aktar": { "command": "aktar", "args": ["mcp"] }
      }
    }

    Cursor

    Add this to the file, or to .cursor/mcp.json in one project.

    In ~/.cursor/mcp.json
    {
      "mcpServers": {
        "aktar": { "command": "aktar", "args": ["mcp"] }
      }
    }

    VS Code

    One command adds it to your VS Code profile. Copilot's agent mode then lists Aktar's tools.

    code --add-mcp '{"name":"aktar","command":"aktar","args":["mcp"]}'

    Windsurf

    Add this to the file, then refresh the MCP servers in Windsurf's settings.

    In ~/.codeium/windsurf/mcp_config.json
    {
      "mcpServers": {
        "aktar": { "command": "aktar", "args": ["mcp"] }
      }
    }

If an app says it can't find aktar, put the full path from which aktar in command; desktop apps don't always load your shell's PATH. Without a global install, use npx as the command and ["-y", "@getaktar/cli", "mcp"] as the arguments. Any other agent that runs MCP servers over stdio works the same way.

Tools your agent gets

Searching, listing, temporary links and thumbnails only look. Uploading and replacing change your bucket, and your agent asks before using them unless you allow it.

ToolWhat it does
upload_fileUploads a file and returns its link, Markdown and HTML. Destination, name, folder and expiry are optional.
upload_clipboardUploads the file or image on the clipboard.
replace_fileWrites a new file over an upload, keeping its link. Needs Aktar for Mac 0.14.0 or Windows 0.7.0.
search_uploadsSearches the upload history.
list_destinationsLists destinations and the file types each one is used for.
list_bucketLists a bucket's folders and files, including files not uploaded with Aktar.
create_temporary_linkMakes a link that stops working after a while (a presigned URL).
get_thumbnailShows the agent a preview of an upload. Needs Aktar for Mac 0.13.0 or Windows 0.6.0.
list_watched_foldersLists watched folders and their status.
get_statusChecks the connection to Aktar.
delete_uploadDeletes an upload from its bucket. Only with --allow-delete.

You decide what it can touch

An upload is public to anyone with the link, so the server is careful by default and you can narrow it further.

  • Uploading is publishing

    The agent is told to upload only what you asked to share, and agents ask before calling a tool that uploads.

  • Only from your folders

    --root limits uploads to the folders you name. Paths are resolved, symlinks included, so a link to ~/.ssh or a .env elsewhere is refused.

  • Read-only, and no deleting

    --read-only leaves out every tool that writes. Deleting from a bucket isn't offered at all unless you add --allow-delete.

  • Your keys stay in Aktar

    The server talks to Aktar on 127.0.0.1 with your token. The agent never sees your access keys, and nothing goes through a server of ours.

aktar mcp --root ~/Projects --root ~/Desktop
aktar mcp --read-only

No MCP? Use the skill

For agents that use skills but not MCP, aktar skill prints a SKILL.md that teaches them the aktar command: what to run, how to read --json, and to upload only what you asked. Every command is in the CLI docs.

mkdir -p ~/.claude/skills/aktar
aktar skill > ~/.claude/skills/aktar/SKILL.md

Requirements

  • Aktar for Mac or Windows, running, with at least one destination
  • The aktar command 0.4.0 or later (Node.js 18 or later)
  • An agent that runs MCP servers over stdio
  • Replacing files: Aktar for Mac 0.14.0 or Windows 0.7.0. Thumbnails: Mac 0.13.0 or Windows 0.6.0
  • Open source (MIT) on GitHub, listed in the official MCP Registry

Questions

Does it work with ChatGPT or other agents in the browser?

Not yet. The server runs on your computer next to Aktar and talks to agents over stdio, so it works with agents that run on your computer: Claude Code, Claude Desktop, Cursor, VS Code, Codex, Windsurf and others.

Can the agent upload files I didn't ask for?

It can only call the tools you allow, and agents ask before calling a tool that uploads unless you've said otherwise. To be sure, start the server with --root so only the folders you name can be uploaded from, or --read-only.

Which bucket does it upload to?

The same as a drop on Aktar's menu bar: the destination whose Use For matches the file type, or the selected one. Name a destination in your request and the agent uses that one.

Does it cost anything?

No. Aktar, the CLI and the MCP server are free. You pay your storage provider for the bucket, as usual.

Does it work on Windows?

Yes. The aktar command works with Aktar for Windows the same way, and so does every agent above.