From the Rubble | Digital Sovereignty Series | Episode 4

TLDR: The browser-based AI experience sends everything through someone else’s cloud. Claude Desktop with MCP filesystem access is different: the AI reads your local files without uploading them, through a protocol you configure and control. This covers installing the unofficial Linux AppImage, fixing the OAuth login loop that tripped up the first session, configuring the MCP filesystem server to point at your Obsidian vault, and the actual use case that makes it click — distilling 300 notes into 20 focused documents through conversation. AI as a sovereignty tool, not a surveillance product.


series: [“Digital Sovereignty”]

There’s a version of AI that surveils you. And there’s a version you actually control.

They’re not the same product, even when they share a name.

The browser-based AI experience — any of them, not just Claude — sends everything through a cloud interface. Your prompts, your context, your documents, your conversation history. It lives on someone else’s servers, processed in someone else’s infrastructure, under terms of service you agreed to without reading. That’s the standard arrangement.

I use AI. I use it deliberately and it makes my work substantially better. But I use it on my terms, with a clear understanding of what I’m giving and what I’m getting. That required a different setup than the default.

This episode covers Claude Desktop on Linux, the Model Context Protocol, and what it actually looks like to give an AI access to your local files without handing your data to a cloud you don’t control.


series: [“Digital Sovereignty”]

Why the Desktop App Over the Browser

The browser interface for Claude works. It’s capable. Most people use it and have no complaints.

Here’s what the desktop app adds that the browser doesn’t:

MCP integration. The Model Context Protocol — which we’ll get into shortly — is what allows Claude to access your local files, run tools, and interact with your system. This only works through the desktop app. The browser interface doesn’t support it.

Session separation. The desktop app runs as its own process, separate from your browser session. Your conversation with Claude isn’t mixed in with your browser’s cookie store, extension ecosystem, or whatever else your browser is doing. Cleaner separation between your AI workflow and your browsing.

Faster access. App in the dock, open, type. No navigating to a URL, no waiting for a web app to initialize.

For basic conversation and writing assistance, the browser is fine. For anything involving your local files — which is where the real workflow gains are — you need the desktop app.


series: [“Digital Sovereignty”]

The Linux Installation Problem

Here’s where it gets interesting: Anthropic doesn’t officially distribute a Linux version of Claude Desktop.

The official GUI releases are Mac and Windows. Linux users working with the desktop app are using an unofficial port maintained by the community — the repo github.com/aaddrick/claude-desktop-debian repackages the desktop app for Debian-based systems. It works, but it’s community-maintained, not Anthropic-official. Know what you’re installing.

The terminal-native alternative: Anthropic does officially support Linux through Claude Code — a CLI tool that runs natively in your terminal, supports MCP server connections, and integrates directly with your file system without a GUI. If you’re comfortable in the terminal, Claude Code is worth evaluating alongside or instead of the desktop app. It’s a different interface for a similar core capability: AI that can read and reason over your local files with explicit MCP-defined access. Check claude.ai/download for current Linux options.

Installation from the repo follows standard package installation patterns — the README at that GitHub link walks through it clearly. Don’t get creative, follow the documented steps.


series: [“Digital Sovereignty”]

The OAuth Rabbit Hole

The first time you launch Claude Desktop, you need to log in. The app opens a browser window to handle authentication via OAuth — the standard protocol for “log in with your existing account.”

Here’s the gotcha that cost me time: the OAuth flow tries to redirect back to the desktop app using a custom protocol handler (claude://). For this to work, the protocol handler needs to be registered with your system — your OS needs to know that URLs starting with claude:// should be handed off to the Claude Desktop app.

On some Linux configurations this registration happens automatically during install. On others it doesn’t. If the login flow completes in your browser but Claude Desktop stays stuck on the login screen — or a second instance launches — that’s the protocol handler not being registered.

The fix depends on your desktop environment. For most setups:

# Check if the handler is registered
xdg-mime query default x-scheme-handler/claude

# If nothing comes back, register it manually
xdg-mime default claude-desktop.desktop x-scheme-handler/claude

The .desktop file name may vary depending on how the package installed. Check what’s in ~/.local/share/applications/ or /usr/share/applications/ and use whatever the Claude desktop file is named.

After registering, quit any running Claude Desktop instances — if you had two open from the login loop, make sure both are closed — and restart. The login flow should complete and hand back to the app correctly.

If you’re seeing two instances running simultaneously, that’s the same issue. Kill all instances, verify the handler is registered, start fresh.


series: [“Digital Sovereignty”]

What MCP Actually Is

The Model Context Protocol is how Claude Desktop accesses things outside the conversation window.

Without MCP, Claude knows only what you’ve typed into the conversation and what it learned during training. With MCP, you can connect Claude to local resources — your file system, databases, APIs, tools — and it can read from and interact with those resources as part of answering your questions.

The model context protocol works through server configurations: you tell Claude Desktop what MCP servers to connect to, those servers expose specific capabilities, and Claude can use those capabilities during a conversation.

For the file system use case — the most immediately useful one — there’s an official MCP filesystem server maintained by Anthropic. It exposes your local file system to Claude in a controlled way: you specify exactly which directories Claude can access, and it can only read from those directories. Nothing outside the paths you define.


series: [“Digital Sovereignty”]

Setting Up the Filesystem MCP Server

The filesystem MCP server requires Node.js. Verify it’s installed:

node --version
npm --version

If not, install it through your package manager or via the official NodeSource repository.

Claude Desktop’s MCP configuration lives in a JSON file. On Linux, that’s typically:

~/.config/Claude/claude_desktop_config.json

If the file doesn’t exist, create it. The configuration for the filesystem server looks like this:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/home/yourusername/Documents",
        "/home/yourusername/obsidian-vault"
      ]
    }
  }
}

Replace the paths with whatever directories you want Claude to have access to. You can list multiple directories. Claude will only be able to read files within those paths — nothing else on your system.

After saving the configuration, restart Claude Desktop. You should see an MCP connection indicator in the interface — look for a small icon or status indicator showing connected servers. On newer versions of Claude Desktop, check the bottom of the sidebar for a “Connectors” or tools panel — it’s easy to miss on first look.


series: [“Digital Sovereignty”]

What You Can Do With This

Here’s the use case that made it click for me practically.

I have an Obsidian vault with several hundred notes — course notes, research, reference material accumulated over years. Finding specific information across that many files manually is slow. Synthesizing across multiple files to generate something new is slower.

With the filesystem MCP server pointed at my vault, I can open Claude Desktop and have a conversation like:

“I have about 300 notes in my vault covering functional health, sovereignty, philosophy, and systems thinking. I want to distill the most important concepts from the health sovereignty overlap — notes that touch both domains — into 20 reference documents organized by theme. Read the vault and tell me what you’re seeing before we start building the structure.”

Claude reads the files, identifies the thematic patterns, proposes an organization structure, and then helps build the distilled documents one by one. The entire knowledge base becomes queryable and synthesizable through conversation. That’s a qualitatively different capability than copy-pasting files into a chat window.

The key detail: this is happening locally. The files aren’t being uploaded to Anthropic’s servers. Claude is reading them through the MCP connection, processing within the conversation context, and the files themselves stay on your machine. That’s meaningfully different from the browser experience where you’d have to paste content in directly.


series: [“Digital Sovereignty”]

The Sovereignty Accounting on AI

Using Claude at all involves a trust decision. The conversations you have are processed on Anthropic’s infrastructure. I’m aware of that and I’ve made peace with it for this use case — the utility is high, the company has been more thoughtful about these questions than most, and the workflow gains are substantial.

What the desktop app with MCP adds is that my actual files don’t leave my machine. The conversation might, but the source material doesn’t. For working with sensitive documents, personal notes, client-adjacent materials — that distinction matters.

The honest position: if your threat model requires that no AI company ever sees any of your prompts, the local model route exists (Ollama, LM Studio, various local inference setups) and we’ll touch on that in a future episode. Local models are less capable at the moment but the capability gap is narrowing.

For my use case — productivity, writing, knowledge synthesis — Claude Desktop with local file access through MCP is the right balance of capability and control.


series: [“Digital Sovereignty”]

The Needs Assessment Loop

One more thing worth naming explicitly, because it connects back to Episode 0.

The tool I used to design the sovereign stack in this series was Claude itself. I described my values, my workflow goals, and my current frustrations. The recommendations emerged from that conversation. Tenacity over Audacity — Claude knew about the telemetry situation. Filen over the mainstream alternatives — Claude walked through the zero-knowledge architecture and why it mattered. The whole stack got shaped through that conversation.

That’s AI as a sovereignty tool rather than a surveillance tool. Used deliberately, with clear inputs, to produce a concrete output that serves your actual goals. Not an always-on assistant running in your taskbar. A tool you reach for when it’s useful and put down when it isn’t.

That’s the relationship worth building.


series: [“Digital Sovereignty”]

Resources


series: [“Digital Sovereignty”]

Next episode: Spotify takes over a dollar a month per artist stream and pays fractions of a cent. Here’s how to leave without losing your library — Exportify, Spotube, spotDL, and building toward a music collection you actually own.


series: [“Digital Sovereignty”]

From the Rubble is written by Kyle — Marine veteran, FDN-P practitioner, 30-year conspiracy realist. Digital sovereignty, health sovereignty, and the overlap between them. No corporate funding. No ads. No permission required.