Metadata-Version: 2.4
Name: anchorlink
Version: 0.1.0
Summary: Anchorlink Local — a secure desktop link for Claude
Project-URL: Homepage, https://github.com/quintessence-proof/anchorlink
Project-URL: Issues, https://github.com/quintessence-proof/anchorlink/issues
Author: Steven Quinn Singleton
License: MIT
License-File: LICENSE
Keywords: ai-tools,anthropic,claude,desktop,filesystem,local,mcp,process
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
Requires-Python: >=3.11
Requires-Dist: mcp>=1.0.0
Provides-Extra: windows
Requires-Dist: pywinpty>=2.0.0; extra == 'windows'
Description-Content-Type: text/markdown

# Anchorlink Local

**A secure desktop link for Claude.**

Anchorlink Local is a lean, hardened MCP server that gives Claude reliable,
first-party access to your local machine — filesystem, processes, terminal
sessions, and search — without telemetry, without third-party service
dependencies, and without the bloat of a full desktop application.

---

## What it does

Anchorlink Local implements the [Model Context Protocol](https://modelcontextprotocol.io)
over stdio, making the following capabilities available to Claude for macOS,
Claude for Windows, and any MCP-compatible client:

| Capability | Notes |
|---|---|
| File system operations | Read, write, create, delete, move, copy, stat |
| Structured file editing | str_replace and line-range patching |
| Command execution | Via argument list — no `shell=True`, no metacharacter exposure |
| Terminal session persistence | Stateful PTY sessions across tool calls |
| File search | ripgrep primary, pathlib fallback |
| Process listing and termination | Cross-platform via psutil |
| Configuration controls | Allowed directories, blocked commands, runtime reload |
| SSH bridge (optional) | Remote access via local OpenSSH — no cloud accounts required |

## Design principles

- **No telemetry.** Zero outbound connections to third-party analytics services.
- **No UI layer.** Claude renders natively. No CDN dependency, no iframe complexity.
- **No shell injection surface.** All process execution uses `execvp`-style argument
  lists. Shell metacharacters cannot reach the interpreter.
- **Path guard runs twice.** Symlink resolution and directory boundary checks happen
  at input validation *and* immediately before each file operation, eliminating the
  TOCTOU window present in comparable tools.
- **Audit-ready logging.** Local log file, owner-only permissions, argument values
  redacted by key pattern. The log tells you what was called, never what was passed.
- **Minimal dependencies.** Targets 4–5 runtime packages. No framework, no ORM,
  no cloud SDK.

## Installation

> **Note:** Full implementation is in progress. This release reserves the namespace.
> Subscribe to releases on GitHub for availability updates.

When available, the recommended installation method is `uvx` — no Python
environment management required:

```json
{
  "mcpServers": {
    "anchorlink": {
      "command": "uvx",
      "args": ["anchorlink"]
    }
  }
}
```

Add this block to:
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

## Platform support

| Platform | Status |
|---|---|
| macOS (Apple Silicon + Intel) | Primary |
| Linux | Supported |
| Windows 10/11 | Supported (requires `anchorlink[windows]` for PTY sessions) |

## License

MIT — Copyright © 2026 Steven Quinn Singleton
