anchorlink 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- anchorlink-0.1.0/LICENSE +21 -0
- anchorlink-0.1.0/PKG-INFO +105 -0
- anchorlink-0.1.0/README.md +76 -0
- anchorlink-0.1.0/RESERVATION_INSTRUCTIONS.md +169 -0
- anchorlink-0.1.0/pyproject.toml +60 -0
- anchorlink-0.1.0/src/anchorlink/__init__.py +23 -0
anchorlink-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Steven Quinn Singleton
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: anchorlink
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Anchorlink Local — a secure desktop link for Claude
|
|
5
|
+
Project-URL: Homepage, https://github.com/quintessence-proof/anchorlink
|
|
6
|
+
Project-URL: Issues, https://github.com/quintessence-proof/anchorlink/issues
|
|
7
|
+
Author: Steven Quinn Singleton
|
|
8
|
+
License: MIT
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Keywords: ai-tools,anthropic,claude,desktop,filesystem,local,mcp,process
|
|
11
|
+
Classifier: Development Status :: 1 - Planning
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Operating System :: MacOS
|
|
16
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
17
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
22
|
+
Classifier: Topic :: System :: Systems Administration
|
|
23
|
+
Classifier: Topic :: Utilities
|
|
24
|
+
Requires-Python: >=3.11
|
|
25
|
+
Requires-Dist: mcp>=1.0.0
|
|
26
|
+
Provides-Extra: windows
|
|
27
|
+
Requires-Dist: pywinpty>=2.0.0; extra == 'windows'
|
|
28
|
+
Description-Content-Type: text/markdown
|
|
29
|
+
|
|
30
|
+
# Anchorlink Local
|
|
31
|
+
|
|
32
|
+
**A secure desktop link for Claude.**
|
|
33
|
+
|
|
34
|
+
Anchorlink Local is a lean, hardened MCP server that gives Claude reliable,
|
|
35
|
+
first-party access to your local machine — filesystem, processes, terminal
|
|
36
|
+
sessions, and search — without telemetry, without third-party service
|
|
37
|
+
dependencies, and without the bloat of a full desktop application.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## What it does
|
|
42
|
+
|
|
43
|
+
Anchorlink Local implements the [Model Context Protocol](https://modelcontextprotocol.io)
|
|
44
|
+
over stdio, making the following capabilities available to Claude for macOS,
|
|
45
|
+
Claude for Windows, and any MCP-compatible client:
|
|
46
|
+
|
|
47
|
+
| Capability | Notes |
|
|
48
|
+
|---|---|
|
|
49
|
+
| File system operations | Read, write, create, delete, move, copy, stat |
|
|
50
|
+
| Structured file editing | str_replace and line-range patching |
|
|
51
|
+
| Command execution | Via argument list — no `shell=True`, no metacharacter exposure |
|
|
52
|
+
| Terminal session persistence | Stateful PTY sessions across tool calls |
|
|
53
|
+
| File search | ripgrep primary, pathlib fallback |
|
|
54
|
+
| Process listing and termination | Cross-platform via psutil |
|
|
55
|
+
| Configuration controls | Allowed directories, blocked commands, runtime reload |
|
|
56
|
+
| SSH bridge (optional) | Remote access via local OpenSSH — no cloud accounts required |
|
|
57
|
+
|
|
58
|
+
## Design principles
|
|
59
|
+
|
|
60
|
+
- **No telemetry.** Zero outbound connections to third-party analytics services.
|
|
61
|
+
- **No UI layer.** Claude renders natively. No CDN dependency, no iframe complexity.
|
|
62
|
+
- **No shell injection surface.** All process execution uses `execvp`-style argument
|
|
63
|
+
lists. Shell metacharacters cannot reach the interpreter.
|
|
64
|
+
- **Path guard runs twice.** Symlink resolution and directory boundary checks happen
|
|
65
|
+
at input validation *and* immediately before each file operation, eliminating the
|
|
66
|
+
TOCTOU window present in comparable tools.
|
|
67
|
+
- **Audit-ready logging.** Local log file, owner-only permissions, argument values
|
|
68
|
+
redacted by key pattern. The log tells you what was called, never what was passed.
|
|
69
|
+
- **Minimal dependencies.** Targets 4–5 runtime packages. No framework, no ORM,
|
|
70
|
+
no cloud SDK.
|
|
71
|
+
|
|
72
|
+
## Installation
|
|
73
|
+
|
|
74
|
+
> **Note:** Full implementation is in progress. This release reserves the namespace.
|
|
75
|
+
> Subscribe to releases on GitHub for availability updates.
|
|
76
|
+
|
|
77
|
+
When available, the recommended installation method is `uvx` — no Python
|
|
78
|
+
environment management required:
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"mcpServers": {
|
|
83
|
+
"anchorlink": {
|
|
84
|
+
"command": "uvx",
|
|
85
|
+
"args": ["anchorlink"]
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Add this block to:
|
|
92
|
+
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
93
|
+
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
94
|
+
|
|
95
|
+
## Platform support
|
|
96
|
+
|
|
97
|
+
| Platform | Status |
|
|
98
|
+
|---|---|
|
|
99
|
+
| macOS (Apple Silicon + Intel) | Primary |
|
|
100
|
+
| Linux | Supported |
|
|
101
|
+
| Windows 10/11 | Supported (requires `anchorlink[windows]` for PTY sessions) |
|
|
102
|
+
|
|
103
|
+
## License
|
|
104
|
+
|
|
105
|
+
MIT — Copyright © 2026 Steven Quinn Singleton
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Anchorlink Local
|
|
2
|
+
|
|
3
|
+
**A secure desktop link for Claude.**
|
|
4
|
+
|
|
5
|
+
Anchorlink Local is a lean, hardened MCP server that gives Claude reliable,
|
|
6
|
+
first-party access to your local machine — filesystem, processes, terminal
|
|
7
|
+
sessions, and search — without telemetry, without third-party service
|
|
8
|
+
dependencies, and without the bloat of a full desktop application.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## What it does
|
|
13
|
+
|
|
14
|
+
Anchorlink Local implements the [Model Context Protocol](https://modelcontextprotocol.io)
|
|
15
|
+
over stdio, making the following capabilities available to Claude for macOS,
|
|
16
|
+
Claude for Windows, and any MCP-compatible client:
|
|
17
|
+
|
|
18
|
+
| Capability | Notes |
|
|
19
|
+
|---|---|
|
|
20
|
+
| File system operations | Read, write, create, delete, move, copy, stat |
|
|
21
|
+
| Structured file editing | str_replace and line-range patching |
|
|
22
|
+
| Command execution | Via argument list — no `shell=True`, no metacharacter exposure |
|
|
23
|
+
| Terminal session persistence | Stateful PTY sessions across tool calls |
|
|
24
|
+
| File search | ripgrep primary, pathlib fallback |
|
|
25
|
+
| Process listing and termination | Cross-platform via psutil |
|
|
26
|
+
| Configuration controls | Allowed directories, blocked commands, runtime reload |
|
|
27
|
+
| SSH bridge (optional) | Remote access via local OpenSSH — no cloud accounts required |
|
|
28
|
+
|
|
29
|
+
## Design principles
|
|
30
|
+
|
|
31
|
+
- **No telemetry.** Zero outbound connections to third-party analytics services.
|
|
32
|
+
- **No UI layer.** Claude renders natively. No CDN dependency, no iframe complexity.
|
|
33
|
+
- **No shell injection surface.** All process execution uses `execvp`-style argument
|
|
34
|
+
lists. Shell metacharacters cannot reach the interpreter.
|
|
35
|
+
- **Path guard runs twice.** Symlink resolution and directory boundary checks happen
|
|
36
|
+
at input validation *and* immediately before each file operation, eliminating the
|
|
37
|
+
TOCTOU window present in comparable tools.
|
|
38
|
+
- **Audit-ready logging.** Local log file, owner-only permissions, argument values
|
|
39
|
+
redacted by key pattern. The log tells you what was called, never what was passed.
|
|
40
|
+
- **Minimal dependencies.** Targets 4–5 runtime packages. No framework, no ORM,
|
|
41
|
+
no cloud SDK.
|
|
42
|
+
|
|
43
|
+
## Installation
|
|
44
|
+
|
|
45
|
+
> **Note:** Full implementation is in progress. This release reserves the namespace.
|
|
46
|
+
> Subscribe to releases on GitHub for availability updates.
|
|
47
|
+
|
|
48
|
+
When available, the recommended installation method is `uvx` — no Python
|
|
49
|
+
environment management required:
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"mcpServers": {
|
|
54
|
+
"anchorlink": {
|
|
55
|
+
"command": "uvx",
|
|
56
|
+
"args": ["anchorlink"]
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Add this block to:
|
|
63
|
+
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
64
|
+
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
65
|
+
|
|
66
|
+
## Platform support
|
|
67
|
+
|
|
68
|
+
| Platform | Status |
|
|
69
|
+
|---|---|
|
|
70
|
+
| macOS (Apple Silicon + Intel) | Primary |
|
|
71
|
+
| Linux | Supported |
|
|
72
|
+
| Windows 10/11 | Supported (requires `anchorlink[windows]` for PTY sessions) |
|
|
73
|
+
|
|
74
|
+
## License
|
|
75
|
+
|
|
76
|
+
MIT — Copyright © 2026 Steven Quinn Singleton
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# Anchorlink — PyPI Namespace Reservation
|
|
2
|
+
## Step-by-step instructions
|
|
3
|
+
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## What you'll do
|
|
7
|
+
|
|
8
|
+
1. Create a PyPI account (you, in browser — 5 min)
|
|
9
|
+
2. Enable two-factor authentication (you, in browser — 2 min)
|
|
10
|
+
3. Generate an API token (you, in browser — 1 min)
|
|
11
|
+
4. Install uv if not already present (Terminal — 30 sec)
|
|
12
|
+
5. Build and publish the stub package (Terminal — 2 min)
|
|
13
|
+
|
|
14
|
+
Total time: under 15 minutes.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Step 1 — Create your PyPI account
|
|
19
|
+
|
|
20
|
+
Open: https://pypi.org/account/register/
|
|
21
|
+
|
|
22
|
+
Fill in:
|
|
23
|
+
- Username (this becomes part of your package's public identity)
|
|
24
|
+
- Email
|
|
25
|
+
- Password
|
|
26
|
+
|
|
27
|
+
Submit the form and verify your email address.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Step 2 — Enable two-factor authentication (required for publishing)
|
|
32
|
+
|
|
33
|
+
PyPI now requires 2FA on all accounts that publish packages.
|
|
34
|
+
|
|
35
|
+
1. Go to: https://pypi.org/manage/account/two-factor/
|
|
36
|
+
2. Choose either:
|
|
37
|
+
- **Authenticator app** (recommended — works with 1Password, Authy, Google Authenticator)
|
|
38
|
+
- **Security key** (FIDO2/WebAuthn hardware key)
|
|
39
|
+
3. Complete setup and save your recovery codes somewhere secure.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Step 3 — Generate an API token
|
|
44
|
+
|
|
45
|
+
This token authorizes `uv publish` without your password.
|
|
46
|
+
|
|
47
|
+
1. Go to: https://pypi.org/manage/account/token/
|
|
48
|
+
2. Click **Add API token**
|
|
49
|
+
3. Name it: `anchorlink-initial-publish`
|
|
50
|
+
4. Scope: **Entire account** (you can scope it to the project after first publish)
|
|
51
|
+
5. Click **Generate token**
|
|
52
|
+
6. **Copy the token now** — it will not be shown again. It starts with `pypi-`.
|
|
53
|
+
|
|
54
|
+
Store it somewhere safe (1Password, your password manager, etc.).
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Step 4 — Install uv (if not already present)
|
|
59
|
+
|
|
60
|
+
Open Terminal and run:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Verify:
|
|
67
|
+
```bash
|
|
68
|
+
uv --version
|
|
69
|
+
# Expected: uv 0.x.x
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Step 5 — Build and publish
|
|
75
|
+
|
|
76
|
+
The package files are in the `anchorlink-reserve/` folder from this package.
|
|
77
|
+
Copy it to your working directory, then:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
# Navigate to the package directory
|
|
81
|
+
cd path/to/anchorlink-reserve
|
|
82
|
+
|
|
83
|
+
# Verify the structure looks right
|
|
84
|
+
ls -la
|
|
85
|
+
# Expected:
|
|
86
|
+
# pyproject.toml
|
|
87
|
+
# README.md
|
|
88
|
+
# LICENSE
|
|
89
|
+
# src/
|
|
90
|
+
# anchorlink/
|
|
91
|
+
# __init__.py
|
|
92
|
+
|
|
93
|
+
# Install hatchling (the build backend — used once)
|
|
94
|
+
uv tool install hatchling
|
|
95
|
+
|
|
96
|
+
# Build the distribution packages
|
|
97
|
+
uv build
|
|
98
|
+
|
|
99
|
+
# Verify the build output
|
|
100
|
+
ls dist/
|
|
101
|
+
# Expected:
|
|
102
|
+
# anchorlink-0.1.0-py3-none-any.whl
|
|
103
|
+
# anchorlink-0.1.0.tar.gz
|
|
104
|
+
|
|
105
|
+
# Publish to PyPI
|
|
106
|
+
# Replace <your-token> with the pypi-... token from Step 3
|
|
107
|
+
UV_PUBLISH_TOKEN=<your-token> uv publish
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
You will see output like:
|
|
111
|
+
```
|
|
112
|
+
Publishing anchorlink 0.1.0 to https://upload.pypi.org/legacy/
|
|
113
|
+
Uploading anchorlink-0.1.0-py3-none-any.whl
|
|
114
|
+
Uploading anchorlink-0.1.0.tar.gz
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Step 6 — Verify the reservation
|
|
120
|
+
|
|
121
|
+
Open: https://pypi.org/project/anchorlink/
|
|
122
|
+
|
|
123
|
+
You should see the project page with the README rendered.
|
|
124
|
+
The namespace is now yours.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Optional: Test on TestPyPI first
|
|
129
|
+
|
|
130
|
+
TestPyPI is a staging environment — safe to experiment on without affecting
|
|
131
|
+
production. Recommended if you want to verify the page renders correctly
|
|
132
|
+
before the real publish.
|
|
133
|
+
|
|
134
|
+
1. Create a separate account at: https://test.pypi.org/account/register/
|
|
135
|
+
2. Generate a token at: https://test.pypi.org/manage/account/token/
|
|
136
|
+
3. Publish to test first:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
UV_PUBLISH_TOKEN=<test-token> uv publish --publish-url https://test.pypi.org/legacy/
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
4. Check: https://test.pypi.org/project/anchorlink/
|
|
143
|
+
5. When satisfied, run the production publish from Step 5.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## After reservation — next steps
|
|
148
|
+
|
|
149
|
+
Once the namespace is held, update `pyproject.toml`:
|
|
150
|
+
- Set the correct GitHub URL once you create the repo
|
|
151
|
+
- Update `authors` with your preferred public name/email
|
|
152
|
+
|
|
153
|
+
When implementation begins, bump version to `0.2.0` and add the real
|
|
154
|
+
dependencies and source files. PyPI allows unlimited version publishes
|
|
155
|
+
under the same name once you own it.
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Package structure reference
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
anchorlink-reserve/
|
|
163
|
+
├── pyproject.toml ← Package metadata and build config
|
|
164
|
+
├── README.md ← PyPI landing page (renders on project page)
|
|
165
|
+
├── LICENSE ← MIT license
|
|
166
|
+
└── src/
|
|
167
|
+
└── anchorlink/
|
|
168
|
+
└── __init__.py ← Stub main() entrypoint
|
|
169
|
+
```
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "anchorlink"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "Anchorlink Local — a secure desktop link for Claude"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = { text = "MIT" }
|
|
11
|
+
requires-python = ">=3.11"
|
|
12
|
+
authors = [
|
|
13
|
+
{ name = "Steven Quinn Singleton" }
|
|
14
|
+
]
|
|
15
|
+
keywords = [
|
|
16
|
+
"mcp",
|
|
17
|
+
"claude",
|
|
18
|
+
"anthropic",
|
|
19
|
+
"desktop",
|
|
20
|
+
"local",
|
|
21
|
+
"filesystem",
|
|
22
|
+
"process",
|
|
23
|
+
"ai-tools",
|
|
24
|
+
]
|
|
25
|
+
classifiers = [
|
|
26
|
+
"Development Status :: 1 - Planning",
|
|
27
|
+
"Intended Audience :: Developers",
|
|
28
|
+
"Intended Audience :: End Users/Desktop",
|
|
29
|
+
"License :: OSI Approved :: MIT License",
|
|
30
|
+
"Operating System :: MacOS",
|
|
31
|
+
"Operating System :: POSIX :: Linux",
|
|
32
|
+
"Operating System :: Microsoft :: Windows",
|
|
33
|
+
"Programming Language :: Python :: 3",
|
|
34
|
+
"Programming Language :: Python :: 3.11",
|
|
35
|
+
"Programming Language :: Python :: 3.12",
|
|
36
|
+
"Programming Language :: Python :: 3.13",
|
|
37
|
+
"Topic :: System :: Systems Administration",
|
|
38
|
+
"Topic :: Utilities",
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
# Runtime dependencies are intentionally minimal.
|
|
42
|
+
# Full dependency list will be added in v0.2.0.
|
|
43
|
+
dependencies = [
|
|
44
|
+
"mcp>=1.0.0",
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
[project.optional-dependencies]
|
|
48
|
+
windows = [
|
|
49
|
+
"pywinpty>=2.0.0", # PTY support for terminal session persistence on Windows
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
[project.scripts]
|
|
53
|
+
anchorlink = "anchorlink:main"
|
|
54
|
+
|
|
55
|
+
[project.urls]
|
|
56
|
+
Homepage = "https://github.com/quintessence-proof/anchorlink"
|
|
57
|
+
Issues = "https://github.com/quintessence-proof/anchorlink/issues"
|
|
58
|
+
|
|
59
|
+
[tool.hatch.build.targets.wheel]
|
|
60
|
+
packages = ["src/anchorlink"]
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Anchorlink Local — a secure desktop link for Claude.
|
|
3
|
+
|
|
4
|
+
Provides filesystem operations, command execution, terminal session
|
|
5
|
+
persistence, file search, and process management as an MCP server
|
|
6
|
+
over stdio. Designed for use with Claude for macOS, Claude for Windows,
|
|
7
|
+
and any MCP-compatible Claude client.
|
|
8
|
+
|
|
9
|
+
Status: pre-release (namespace reservation). Full implementation in progress.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
__version__ = "0.1.0"
|
|
13
|
+
__author__ = "Steven Quinn Singleton"
|
|
14
|
+
__license__ = "MIT"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def main() -> None:
|
|
18
|
+
"""Entry point for `uvx anchorlink` and direct CLI invocation."""
|
|
19
|
+
print(
|
|
20
|
+
"Anchorlink Local v0.1.0\n"
|
|
21
|
+
"Full MCP server implementation is in progress.\n"
|
|
22
|
+
"See https://github.com/stevensingleton/anchorlink for updates."
|
|
23
|
+
)
|