Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Aktar

by getaktarversion 0.6.0i★ –iRuns on your computer
Registry nameio.github.getaktar/aktar

Install

Overview

Description from the maker (original English)

Upload files to your own S3, Cloudflare R2 or B2 bucket through the Aktar app and get links.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Developer tools

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • The registry lists no key to fill in.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "aktar": {
      "command": "npx",
      "args": [
        "-y",
        "@getaktar/cli",
        "mcp",
        "--root"
      ]
    }
  }
}

Run this in your terminal

claude mcp add aktar -- npx -y @getaktar/cli mcp --root

This one needs values on its command line, so copy the settings and fill them in.

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "aktar": {
      "command": "npx",
      "args": [
        "-y",
        "@getaktar/cli",
        "mcp",
        "--root"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one needs values on its command line, so copy the settings and fill them in.

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "aktar": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@getaktar/cli",
        "mcp",
        "--root"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account getaktar, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Developer toolsi

  • More stars than 0% of the other 1395 servers in this category
  • Published to the registry more recently than 63% of the other 1395 servers in this category
  • Basic checks equal to or better than 100% of the other 1395 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Aktar safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.6.0) reached the registry 29 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: GitHub, Desktop Commander, Cloudflare MCP

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

GitHub

by github

GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.

Computer or cloud★ 34,245MITUpdated 4 days ago
Install

Desktop Commander

by wonderwhy-er

MCP server for terminal commands, file operations, and process management

Runs on your computer★ 10,225MITUpdated 16 days ago
Install

Cloudflare MCP

by cloudflare

Cloudflare MCP servers

Runs in the cloud★ 4,446Apache-2.0Updated 14 months ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Aktar CLI

Upload files to your own S3, Cloudflare R2 or Backblaze B2 bucket from the terminal, and get the link.

The aktar command talks to the Aktar app on your Mac or Windows PC, so it uses the destinations, keys, path templates and link settings you already set up there. Your storage keys never leave the app.

$ aktar upload screenshot.png

https://files.example.com/2026/09/7f3c2a91.png

Install

npm install -g @getaktar/cli

or

brew install getaktar/tap/aktar-cli

Or run it without installing: npx @getaktar/cli upload file.png.

Requires Node.js 18 or later and Aktar for Mac 0.18.0 or Aktar for Windows 0.11.0 or later (earlier versions of the CLI work with Aktar for Mac 0.4.0 and later).

Connect to Aktar

  1. In Aktar, open Settings > Integrations and turn on Allow local connections.
  2. Copy the token shown there.
  3. Run:
aktar login

and paste the token when asked (avoid aktar login --token : other programs can see command lines, and it stays in your shell history). It's checked against Aktar and saved to ~/.config/aktar/cli.json (%APPDATA%\aktar\cli.json on Windows), readable only by you. You can also pipe it in (pbpaste | aktar login) or set AKTAR_TOKEN (and AKTAR_PORT if you changed the port) instead.

Usage

aktar upload report.pdf                     # prints the link

aktar upload *.png -f markdown # one Markdown image per file aktar upload build.zip -d Builds # pick a destination by name or ID aktar upload notes.txt --folder docs/2026 # keep the name, upload into a folder aktar upload IMG_4021.jpg --name cover # upload as cover.jpg aktar upload log.txt --expires 7 # delete after 7 days aktar upload --clipboard # the file or image on the clipboard aktar upload demo.mp4 --qr # the link and a QR code to open it on your phone aktar upload talk.pdf --short # a short link from the destination's link shortener aktar upload photo.jpg --json # full details as JSON

aktar status # which Aktar and destination you're connected to aktar destinations # list destinations (* marks the selected one) aktar history invoice -n 5 # search recent uploads aktar replace 0B6C2F8E-3D1A-4C55-9E2B-7A41D0C3E9F1 v2.png # new file, same link aktar replace docs/guide.pdf guide.pdf -d Docs # replace a key in a destination's bucket aktar qr https://example.com # a QR code of any link or text aktar qr 0B6C2F8E-3D1A-4C55-9E2B-7A41D0C3E9F1 # a QR code of an upload in history aktar short 0B6C2F8E-3D1A-4C55-9E2B-7A41D0C3E9F1 # a short link for an upload in history

Without -d, files go to the destination selected in Aktar's menu bar. Uploads show up in Aktar's history like any other.

--format chooses what's printed: url (default), markdown, html, or custom (your template from Aktar). --expires takes 1, 7, 14 or 30 days and needs Aktar's auto-delete rules on that destination; without it, files are kept.

--name uploads a single file under another name: it's what {filename} and {ext} in the destination's path template become, and what Aktar's history shows. If the name has no extension, the file's own is added (--name cover uploads IMG_4021.jpg as cover.jpg); if it has one, it's used as given. With --folder, it's the name inside the folder.

If the same file (same contents, destination and expiry) is already in the bucket, Aktar doesn't upload it again and gives you the existing link. aktar prints the link as usual and notes it on stderr (aktar: photo.jpg: already uploaded, reused the existing link), so scripts reading stdout still get one link per file. This needs Aktar for Mac 0.10.0 or Windows 0.3.0.

Short links

If a destination has a link shortener set up in Aktar (Shlink, YOURLS, Kutt, Dub, Short.io or your own), Aktar shortens its links following that destination's rules, and aktar prints the short link. --format uses it too: the Markdown, HTML and custom formats come from Aktar with the short link in them.

  • --short makes a short link for this upload even if the destination's "Only shorten links longer than" rule would skip it. It fails if the destination has no link shortener.
  • --no-short makes none this time.

If Aktar can't make the short link (the shortener is down, say), the upload still goes through: aktar prints the original link and notes it on stderr (aktar: talk.pdf: couldn't make a short link, printed the original link: ...).

aktar short makes a short link for an upload already in history, found by its ID, link or short link, and prints it. If it already has one, that's the one printed. --json prints the short link's details (provider, status, clicks when the shortener counts them), --qr adds its QR code. aktar history shows each upload's short link after its link.

Older versions of Aktar, and Aktar for Windows until it has short links, ignore --short and --no-short.

QR codes

aktar upload --qr prints a QR code under each link, so you can open it on your phone. The QR code is always of the link itself (the short link, if there is one), whatever --format prints. It's drawn black on white in the terminal, whatever its theme; when the output isn't a terminal, or NO_COLOR is set, it's drawn without colors (light modules as blocks), which phone cameras read on a light or dark background. --qr can't be combined with --json.

aktar qr shows the QR code of any link or text; quote text with spaces. Given an upload ID from aktar history --json, it shows that upload's link (its short link, if it has one) and its QR code. --png saves the QR code as a PNG instead:

aktar qr https://files.example.com/2026/09/7f3c2a91.png --png link.png
What Aktar does for you

The app does the work per destination, so the CLI needs nothing extra for it:

  • Converting images to WebP or AVIF, if the destination is set to
  • {md5} and {sha256} in path templates, to name files by their contents
  • Big files: past 5 GB, Aktar uploads in parts and resumes after a dropped connection. aktar streams the file to the app, so its size doesn't matter

The link aktar prints is the one for the file as stored, after any conversion.

JSON output

aktar upload --json prints an array with one entry per uploaded file:

[

{ "id": "0B6C…", "filename": "photo.jpg", "objectKey": "2026/09/7f3c2a91.jpg", "url": "https://files.example.com/2026/09/7f3c2a91.jpg", "shortUrl": null, "destinationId": "5D1A…", "destinationName": "Screenshots", "mimeType": "image/jpeg", "size": 482113, "createdAt": "2026-09-30T12:00:00Z", "expiresAt": null, "formats": { "url": "…", "markdown": "…", "html": "…", "custom": "…" }, "reused": false } ]

reused is true when nothing was uploaded because the file was already there; older versions of Aktar leave it out. shortUrl is the upload's short link, or null when it has none; formats already use it. When Aktar couldn't make the short link, shortLinkError says why. aktar history --json has shortUrl too.

Exit codes
CodeMeaning
0Everything worked
1At least one upload or request failed (the others still went through)
2Bad arguments, or a file that doesn't exist (nothing was uploaded)
3Not logged in, Aktar isn't running, its local API is off, the token is wrong, or the app on the port couldn't prove it's Aktar (or is too old to)

AI agents (MCP and skill)

MCP server

aktar mcp runs a Model Context Protocol server, so Claude, Cursor, VS Code, Codex and other agents can upload through Aktar, find past uploads and make links. Connect Aktar first (aktar login), then add it to your agent with the folder it may upload files from:

claude mcp add aktar -- aktar mcp --root ~/Projects    # Claude Code

codex mcp add aktar -- aktar mcp --root ~/Projects # Codex

For Claude Desktop, Cursor, VS Code and others that take a JSON config:

{

"mcpServers": { "aktar": { "command": "aktar", "args": ["mcp", "--root", "/Users/you/Projects"] } } }

Without a global install, use "command": "npx", "args": ["-y", "@getaktar/cli", "mcp", "--root", "/Users/you/Projects"].

ToolWhat it does
upload_fileUpload a file (destination, name, folder, expiry, short link optional) and return its link, Markdown and HTML
upload_clipboardUpload what's on the clipboard (left out with --root)
replace_fileWrite a new file over an upload or any file in a bucket, keeping its link (only with --allow-replace or --allow-delete; Mac 0.14.0 / Windows 0.7.0)
create_short_linkA short link for an upload, from its destination's link shortener
search_uploadsSearch upload history (with each upload's short link)
list_destinationsDestinations and what file types each is used for
list_bucketBrowse a bucket's folders and files
create_temporary_linkA link that stops working after a while (presigned URL). This gives access: anyone with the link can download the file until it expires, even from a private bucket. At most 60 minutes unless --max-link-minutes allows more
get_thumbnailA preview image of an upload (Mac 0.13.0 / Windows 0.6.0)
list_watched_foldersWatched folders and their status
get_statusCheck the connection
delete_uploadDelete an upload from its bucket (only with --allow-delete)

Uploading publishes a file, so keep an eye on what your agent sends. Your agent asks before calling a tool unless you allow it, and the server limits what it can reach:

  • --root : only upload files from this folder (repeat for more). Paths are resolved, symlinks included, before they're checked. Without --root, files come only from the folder the server runs in (agents usually start it in your project). If that's your home folder or the top of the disk, as some apps do, local files aren't uploaded at all until you add --root. --root ~ or --root / allow more, if you really want that.
  • Secrets are never uploaded, wherever they are: SSH and private keys (id_rsa, id_ed25519, *.pem, *.p12, *.pfx...), .env files, ~/.ssh, ~/.gnupg, ~/.aws, ~/.azure, ~/.config/gcloud, ~/.kube, ~/.docker, ~/.netrc, ~/.npmrc, ~/.pypirc, ~/.git-credentials, Aktar's own config, the Keychain, browser profiles and password databases (*.kdbx). Files with several hard links aren't uploaded either. To share one of these, upload it yourself with aktar upload.
  • --read-only: only the tools that change nothing in a bucket (search, list, temporary links, thumbnails).
  • --allow-replace: also offer replace_file, which overwrites files in a bucket. It's left out by default because the old contents are gone, like a delete.
  • --allow-delete: also offer delete_upload (and `replace_f

Only the beginning is shown; read the rest in the repo

Ask PopNx