neozip-mcp 0.1.0-beta
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.
- package/.cursor/mcp.json.global.example +10 -0
- package/CHANGELOG.md +16 -0
- package/DOCUMENTATION.md +40 -0
- package/LICENSE +16 -0
- package/README.md +223 -0
- package/SECURITY.md +37 -0
- package/dist/account/account-state.js +86 -0
- package/dist/account/format-account-status.js +37 -0
- package/dist/account/identity-provision.js +75 -0
- package/dist/account/identity-wrap.js +69 -0
- package/dist/account/profile-crypto.js +47 -0
- package/dist/account/profile-store.js +108 -0
- package/dist/account/require-account.js +29 -0
- package/dist/account/token-service-identity.js +395 -0
- package/dist/account/types.js +2 -0
- package/dist/account/wallet-evm.js +39 -0
- package/dist/archive/blockchain-status.js +303 -0
- package/dist/archive/crypto-self.js +114 -0
- package/dist/archive/detect-text.js +56 -0
- package/dist/archive/embed-metadata.js +283 -0
- package/dist/archive/encryption.js +166 -0
- package/dist/archive/extract-entry-buffer.js +18 -0
- package/dist/archive/find-entry.js +21 -0
- package/dist/archive/grep-content.js +141 -0
- package/dist/archive/identity-key.js +176 -0
- package/dist/archive/manifest.js +55 -0
- package/dist/archive/merkle.js +31 -0
- package/dist/archive/metadata-paths.js +14 -0
- package/dist/archive/mint-archive.js +61 -0
- package/dist/archive/open-archive.js +23 -0
- package/dist/archive/read-entry-buffer.js +11 -0
- package/dist/archive/read-entry-content.js +51 -0
- package/dist/archive/recipient-access.js +26 -0
- package/dist/archive/recipient-decrypt.js +21 -0
- package/dist/archive/recipient-lookup.js +55 -0
- package/dist/archive/timestamp-network.js +54 -0
- package/dist/config/capabilities.js +37 -0
- package/dist/config/index.js +74 -0
- package/dist/connect-cli.js +312 -0
- package/dist/connection/coordinator.js +74 -0
- package/dist/connection/credentials.js +29 -0
- package/dist/connection/crypto.js +56 -0
- package/dist/connection/dump.js +79 -0
- package/dist/connection/incomplete-setup.js +81 -0
- package/dist/connection/interactive.js +814 -0
- package/dist/connection/legacy-profile-reader.js +47 -0
- package/dist/connection/magic-link.js +138 -0
- package/dist/connection/migrate.js +76 -0
- package/dist/connection/onboarding.js +524 -0
- package/dist/connection/origin.js +63 -0
- package/dist/connection/phase.js +93 -0
- package/dist/connection/phone.js +20 -0
- package/dist/connection/promote-active.js +53 -0
- package/dist/connection/reset.js +20 -0
- package/dist/connection/setup-guidance.js +154 -0
- package/dist/connection/status-report.js +40 -0
- package/dist/connection/store.js +352 -0
- package/dist/connection/token-auth.js +42 -0
- package/dist/connection/types.js +2 -0
- package/dist/connection/wallet-setup.js +70 -0
- package/dist/constants/wallet-identity.js +11 -0
- package/dist/index.js +47 -0
- package/dist/load-env.js +16 -0
- package/dist/neozipkit-node.js +11 -0
- package/dist/register/resources.js +14 -0
- package/dist/register/tools.js +77 -0
- package/dist/resources/zip-resource.js +40 -0
- package/dist/resources/zip-uri.js +23 -0
- package/dist/security/auth.js +28 -0
- package/dist/security/capabilities.js +85 -0
- package/dist/security/rate-limiter.js +43 -0
- package/dist/security/resource-limiter.js +44 -0
- package/dist/security/sandbox.js +61 -0
- package/dist/server.js +32 -0
- package/dist/startup-account-gate.js +101 -0
- package/dist/startup-summary.js +40 -0
- package/dist/token-service/require-configured.js +23 -0
- package/dist/tools/account.js +504 -0
- package/dist/tools/compress.js +237 -0
- package/dist/tools/connect-status.js +143 -0
- package/dist/tools/extract.js +62 -0
- package/dist/tools/grep-entries.js +42 -0
- package/dist/tools/identity-status.js +157 -0
- package/dist/tools/info.js +147 -0
- package/dist/tools/list.js +118 -0
- package/dist/tools/lookup-recipient.js +37 -0
- package/dist/tools/mint.js +41 -0
- package/dist/tools/read-entry.js +35 -0
- package/dist/tools/search-entries.js +71 -0
- package/dist/tools/stamp.js +60 -0
- package/dist/tools/test.js +90 -0
- package/dist/tools/token-service-account.js +143 -0
- package/dist/tools/upgrade.js +60 -0
- package/dist/tools/verify.js +75 -0
- package/dist/tools/wallet-config-status.js +119 -0
- package/dist/tools/wallet-info.js +64 -0
- package/dist/translators/index.js +106 -0
- package/dist/types/index.js +7 -0
- package/dist/util/mask.js +30 -0
- package/dist/util/token-service-fetch.js +23 -0
- package/dist/vendor/neozipkit-pro.js +3 -0
- package/docs/NEOZIP_CONNECTION_STORE.md +238 -0
- package/docs/NEOZIP_CONNECT_CLI.md +185 -0
- package/docs/OPERATIONS.md +992 -0
- package/docs/examples/CLAUDE.md.example +22 -0
- package/docs/examples/claude/skills/neozip-mcp/SKILL.md +54 -0
- package/docs/examples/claude/skills/neozip-notarization/SKILL.md +75 -0
- package/docs/examples/mcp.json.claude.example +11 -0
- package/docs/examples/neozip-mcp-cursor-rule.mdc +31 -0
- package/docs/installation-guides/INSTALL_CLAUDE_CODE.md +286 -0
- package/docs/installation-guides/INSTALL_CLAUDE_WORKSPACE.md +301 -0
- package/docs/installation-guides/README.md +76 -0
- package/package.json +99 -0
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
# Install NeoZip MCP in a Claude Code workspace
|
|
2
|
+
|
|
3
|
+
Share **neozip-mcp** with your team by committing a **project-scoped** `.mcp.json` at the repository root. Anyone who clones the repo and opens it in Claude Code gets the same MCP server definition after approval.
|
|
4
|
+
|
|
5
|
+
**Related:** [INSTALL_CLAUDE_CODE.md](./INSTALL_CLAUDE_CODE.md) (user/local scope), [OPERATIONS.md](../OPERATIONS.md) (tools), [NEOZIP_CONNECT_CLI.md](../NEOZIP_CONNECT_CLI.md) (account setup).
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What is a Claude Code workspace config?
|
|
10
|
+
|
|
11
|
+
Claude Code reads MCP servers from several locations. **Project scope** uses:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
your-repo/
|
|
15
|
+
├── .mcp.json ← shared MCP config (commit to git)
|
|
16
|
+
├── CLAUDE.md ← optional always-on memory (recommended)
|
|
17
|
+
├── .claude/
|
|
18
|
+
│ └── skills/
|
|
19
|
+
│ ├── neozip-mcp/ ← archive tools skill (commit to git)
|
|
20
|
+
│ └── neozip-notarization/ ← tokenize/timestamp/verify skill (commit to git)
|
|
21
|
+
└── …
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
| Scope | File | Commit to git? |
|
|
25
|
+
|-------|------|----------------|
|
|
26
|
+
| **Project** | `.mcp.json` | **Yes** — team shares the same server definition |
|
|
27
|
+
| User | `~/.claude.json` (top-level) | No — personal, all projects |
|
|
28
|
+
| Local | `~/.claude.json` (project entry) | No — personal, one project |
|
|
29
|
+
|
|
30
|
+
Claude Code **merges** scopes by server name; **local** overrides **project**, which overrides **user**.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Prerequisites
|
|
35
|
+
|
|
36
|
+
1. **Node.js 20+** on each developer machine
|
|
37
|
+
2. **Claude Code** installed
|
|
38
|
+
3. Each teammate installs the beta package from npm once:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npm install -g neozip-mcp@beta
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
4. **Optional:** each developer runs `neozip-connect` for blockchain features (credentials stay on each machine in `~/.neozip/connection/`)
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Quick setup (maintainer)
|
|
49
|
+
|
|
50
|
+
### 1. Add `.mcp.json` to the repo
|
|
51
|
+
|
|
52
|
+
Copy the example and adjust capabilities/sandbox if needed:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
cp node_modules/neozip-mcp/docs/examples/mcp.json.claude.example .mcp.json
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
From a neozip-mcp source checkout:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
cp docs/examples/mcp.json.claude.example .mcp.json
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Default workspace config** (capabilities default to `auto`):
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"mcpServers": {
|
|
69
|
+
"neozip-mcp": {
|
|
70
|
+
"type": "stdio",
|
|
71
|
+
"command": "neozip-mcp",
|
|
72
|
+
"env": {
|
|
73
|
+
"NEOZIP_MCP_SANDBOX_PATHS": "${CLAUDE_PROJECT_DIR:-.},${HOME}"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
After `neozip-connect` reaches `phase: ready`, reload MCP so blockchain tools appear. Pin capabilities explicitly if needed (see [installation-guides/README.md](./README.md#capability-presets)).
|
|
81
|
+
|
|
82
|
+
### 2. Add agent skills (recommended)
|
|
83
|
+
|
|
84
|
+
Copy project skills from the npm package so Claude auto-invokes the right procedures. Commit `.claude/skills/` so every teammate gets the same agent behavior.
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
cp -R node_modules/neozip-mcp/docs/examples/claude/skills .claude/
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
From a neozip-mcp source checkout:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
cp -R docs/examples/claude/skills .claude/
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
| Skill | Purpose |
|
|
97
|
+
|-------|---------|
|
|
98
|
+
| `neozip-mcp` | Archives — `compress`, `extract`, `list`, `info`, `test`, `read_entry`, `search_entries`, `grep_entries` |
|
|
99
|
+
| `neozip-notarization` | Tokenize, timestamp, verify, stamp, mint, recipient encryption — call `connect_status` first |
|
|
100
|
+
|
|
101
|
+
Optional always-on project memory — copy or merge [`docs/examples/CLAUDE.md.example`](../examples/CLAUDE.md.example) to `CLAUDE.md`:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
cp node_modules/neozip-mcp/docs/examples/CLAUDE.md.example CLAUDE.md
|
|
105
|
+
# or merge the NeoZip section into an existing CLAUDE.md
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Cursor teammates (optional)** — same skill content, personal install:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
mkdir -p ~/.cursor/skills/neozip-mcp ~/.cursor/skills/neozip-notarization
|
|
112
|
+
cp node_modules/neozip-mcp/docs/examples/claude/skills/neozip-mcp/SKILL.md ~/.cursor/skills/neozip-mcp/
|
|
113
|
+
cp node_modules/neozip-mcp/docs/examples/claude/skills/neozip-notarization/SKILL.md ~/.cursor/skills/neozip-notarization/
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 3. Commit and push
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
git add .mcp.json .claude/skills CLAUDE.md
|
|
120
|
+
git commit -m "Add NeoZip MCP workspace config for Claude Code"
|
|
121
|
+
git push
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
`.mcp.json` and `.claude/skills/` are **meant to be committed**. `CLAUDE.md` is optional. Do not add secrets to any of these files (see [Secrets](#secrets-and-credentials) below).
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Alternative: CLI project scope
|
|
129
|
+
|
|
130
|
+
From the repo root, in your **system terminal**:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
cd /path/to/your/project
|
|
134
|
+
|
|
135
|
+
claude mcp add-json neozip-mcp \
|
|
136
|
+
'{"type":"stdio","command":"neozip-mcp","env":{"NEOZIP_MCP_SANDBOX_PATHS":"${CLAUDE_PROJECT_DIR:-.},${HOME}"}}' \
|
|
137
|
+
--scope project
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Claude Code creates or updates `.mcp.json` automatically. Review the file, then commit it.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Teammate onboarding
|
|
145
|
+
|
|
146
|
+
Each developer:
|
|
147
|
+
|
|
148
|
+
1. **Clone** the repository
|
|
149
|
+
2. **Install** the global binary (once per machine):
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
npm install -g neozip-mcp@beta
|
|
153
|
+
which neozip-mcp
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
3. **Open Claude Code** in the project root:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
cd your-repo
|
|
160
|
+
claude
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
4. **Approve project MCP servers** when prompted (security review of `.mcp.json`)
|
|
164
|
+
|
|
165
|
+
5. **Optional — blockchain:** run `neozip-connect` once, then start a new Claude Code session
|
|
166
|
+
|
|
167
|
+
6. **Verify:**
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
claude mcp list
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Inside Claude Code: `/mcp` → confirm **neozip-mcp** tools are listed
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Secrets and credentials
|
|
178
|
+
|
|
179
|
+
NeoZip uses a **connect-only** credential model for production use:
|
|
180
|
+
|
|
181
|
+
| Secret | Where it lives | Commit to git? |
|
|
182
|
+
|--------|----------------|----------------|
|
|
183
|
+
| Wallet / Token Service tokens | `~/.neozip/connection/` via `neozip-connect` | **Never** |
|
|
184
|
+
| MCP capabilities / sandbox | `.mcp.json` | **Yes** |
|
|
185
|
+
| Custom unlock passphrase | Per-user `~/.claude.json` merge (optional) | **Never** |
|
|
186
|
+
|
|
187
|
+
### Splitting config (optional pattern)
|
|
188
|
+
|
|
189
|
+
Commit **server definition** in `.mcp.json`. Teammates can merge **personal env** in `~/.claude.json` under the same server name:
|
|
190
|
+
|
|
191
|
+
**.mcp.json** (committed):
|
|
192
|
+
|
|
193
|
+
```json
|
|
194
|
+
{
|
|
195
|
+
"mcpServers": {
|
|
196
|
+
"neozip-mcp": {
|
|
197
|
+
"type": "stdio",
|
|
198
|
+
"command": "neozip-mcp",
|
|
199
|
+
"env": {
|
|
200
|
+
"NEOZIP_MCP_SANDBOX_PATHS": "${CLAUDE_PROJECT_DIR:-.},${HOME}"
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**~/.claude.json** (personal, not committed):
|
|
208
|
+
|
|
209
|
+
```json
|
|
210
|
+
{
|
|
211
|
+
"mcpServers": {
|
|
212
|
+
"neozip-mcp": {
|
|
213
|
+
"env": {
|
|
214
|
+
"NEOZIP_UNLOCK_PASSPHRASE": "your-custom-passphrase-if-used"
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Server names must match exactly. Claude Code merges env at session start.
|
|
222
|
+
|
|
223
|
+
> **Do not** put `NEOZIP_TOKEN_SERVICE_ACCESS_TOKEN`, wallet private keys, or API secrets in `.mcp.json`. Use `neozip-connect` instead.
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Sandbox paths for monorepos
|
|
228
|
+
|
|
229
|
+
Default `${CLAUDE_PROJECT_DIR:-.},${HOME}` allows the repo root and home directory.
|
|
230
|
+
|
|
231
|
+
**Archive output outside the repo:**
|
|
232
|
+
|
|
233
|
+
```json
|
|
234
|
+
"NEOZIP_MCP_SANDBOX_PATHS": "${CLAUDE_PROJECT_DIR:-.},${HOME},/shared/archives"
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**Restrict to repo only:**
|
|
238
|
+
|
|
239
|
+
```json
|
|
240
|
+
"NEOZIP_MCP_SANDBOX_PATHS": "${CLAUDE_PROJECT_DIR:-.}"
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Project approval and security
|
|
246
|
+
|
|
247
|
+
Claude Code prompts before running project-scoped servers from `.mcp.json` (they execute commands on your machine). Teammates should read `.mcp.json` before approving.
|
|
248
|
+
|
|
249
|
+
Reset approval choices:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
claude mcp reset-project-choices
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Pending servers show as `⏸ Pending approval` in `claude mcp list`.
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Example team workflow
|
|
260
|
+
|
|
261
|
+
1. Maintainer adds `.mcp.json`, `.claude/skills/`, and optionally `CLAUDE.md`
|
|
262
|
+
2. Developer clones, runs `npm install -g neozip-mcp@beta`, then `claude` in repo root
|
|
263
|
+
3. Developer approves **neozip-mcp** when prompted
|
|
264
|
+
4. In chat: "Zip the `docs/` folder to `dist/docs.nzip`" → agent calls `compress`
|
|
265
|
+
5. For tokenized archives: developer runs `neozip-connect` once; agent calls `connect_status` then `compress` with `options.tokenize: true`
|
|
266
|
+
|
|
267
|
+
More example prompts: see [docs/examples/claude/skills/neozip-mcp/SKILL.md](../examples/claude/skills/neozip-mcp/SKILL.md) (archives) and [docs/examples/claude/skills/neozip-notarization/SKILL.md](../examples/claude/skills/neozip-notarization/SKILL.md) (notarization + recipient encryption).
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Troubleshooting
|
|
272
|
+
|
|
273
|
+
| Symptom | What to do |
|
|
274
|
+
|---------|------------|
|
|
275
|
+
| `.mcp.json` ignored | Start Claude Code from repo root; check file name and JSON syntax |
|
|
276
|
+
| Pending approval forever | Run interactively once to approve; or `claude mcp reset-project-choices` |
|
|
277
|
+
| Works for maintainer, not teammate | Teammate needs `npm install -g neozip-mcp@beta` and `which neozip-mcp` on PATH |
|
|
278
|
+
| Sandbox errors on CI paths | Add paths to `NEOZIP_MCP_SANDBOX_PATHS` |
|
|
279
|
+
| Tokenize fails for everyone | Each user needs their own `neozip-connect` profile on their machine |
|
|
280
|
+
| Conflicts with personal config | Check `claude mcp list`; remove duplicate: `claude mcp remove neozip-mcp --scope user` |
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## Related files in the npm package
|
|
285
|
+
|
|
286
|
+
After install, examples ship under the package directory:
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
npm root -g
|
|
290
|
+
# e.g. …/node_modules/neozip-mcp/docs/examples/mcp.json.claude.example
|
|
291
|
+
# e.g. …/node_modules/neozip-mcp/docs/examples/claude/skills/
|
|
292
|
+
# e.g. …/node_modules/neozip-mcp/docs/examples/CLAUDE.md.example
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
See [OPERATIONS.md](../OPERATIONS.md) and the package README for full reference.
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Related
|
|
300
|
+
|
|
301
|
+
The neozip-mcp **development** repository uses different launcher config. Consumer installs use the `neozip-mcp` binary from the npm package only.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# NeoZip MCP — installation guides
|
|
2
|
+
|
|
3
|
+
Step-by-step setup for **neozip-mcp** (**beta**) in common MCP host applications. NeoZip MCP is a **local stdio server** (no remote HTTP endpoint). Install the npm beta package once, then point your host at the `neozip-mcp` binary.
|
|
4
|
+
|
|
5
|
+
## Guides by host
|
|
6
|
+
|
|
7
|
+
| Host | Guide | Config location |
|
|
8
|
+
|------|-------|-----------------|
|
|
9
|
+
| **Claude Code** (CLI, user/local scope) | [INSTALL_CLAUDE_CODE.md](./INSTALL_CLAUDE_CODE.md) | `~/.claude.json`, `~/.claude/skills/` |
|
|
10
|
+
| **Claude Code workspace** (shared project `.mcp.json`) | [INSTALL_CLAUDE_WORKSPACE.md](./INSTALL_CLAUDE_WORKSPACE.md) | `.mcp.json`, `.claude/skills/`, `CLAUDE.md` |
|
|
11
|
+
| **Cursor** | [package README](../README.md#cursor-setup) | `~/.cursor/mcp.json` or `.cursor/mcp.json` |
|
|
12
|
+
|
|
13
|
+
## Before you configure MCP
|
|
14
|
+
|
|
15
|
+
1. **Install the beta package** (Node.js 20+) from npm:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install -g neozip-mcp@beta
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
2. **Verify binaries**:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
which neozip-mcp
|
|
25
|
+
which neozip-connect
|
|
26
|
+
neozip-connect status
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
3. **Optional account setup** — required only for tokenize, timestamp, recipient encryption, mint, and stamp:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
neozip-connect
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Credentials are stored in `~/.neozip/connection/` (machine-local encryption). They are **not** passed through MCP config env vars.
|
|
36
|
+
|
|
37
|
+
## Shared configuration reference
|
|
38
|
+
|
|
39
|
+
Example JSON blocks live in:
|
|
40
|
+
|
|
41
|
+
- [`.cursor/mcp.json.global.example`](../../.cursor/mcp.json.global.example) — Cursor global MCP
|
|
42
|
+
- [`docs/examples/mcp.json.claude.example`](../examples/mcp.json.claude.example) — Claude Code (user scope: merge into `~/.claude.json`; project scope: copy to `.mcp.json`)
|
|
43
|
+
- [`docs/examples/claude/skills/neozip-mcp/`](../examples/claude/skills/neozip-mcp/) — Agent skill for archives (Claude: `~/.claude/skills/` or commit `.claude/skills/`; Cursor: `~/.cursor/skills/`)
|
|
44
|
+
- [`docs/examples/claude/skills/neozip-notarization/`](../examples/claude/skills/neozip-notarization/) — Agent skill for tokenize/timestamp/verify + recipient encryption
|
|
45
|
+
- [`docs/examples/CLAUDE.md.example`](../examples/CLAUDE.md.example) — Optional always-on Claude project memory
|
|
46
|
+
- [`docs/examples/neozip-mcp-cursor-rule.mdc`](../examples/neozip-mcp-cursor-rule.mdc) — Cursor rule (always-on alternative to skills)
|
|
47
|
+
|
|
48
|
+
### Capability presets
|
|
49
|
+
|
|
50
|
+
Default: **`auto`** (omit `NEOZIP_MCP_CAPABILITIES` or set to `auto`). Resolves to `zip,blockchain,readonly` when `neozip-connect` is `phase: ready`; otherwise `zip,readonly`. Reload MCP after connect finishes.
|
|
51
|
+
|
|
52
|
+
| Use case | `NEOZIP_MCP_CAPABILITIES` |
|
|
53
|
+
|----------|---------------------------|
|
|
54
|
+
| Default (recommended) | omit or `auto` |
|
|
55
|
+
| ZIP only (no verify/stamp tools) | `zip` |
|
|
56
|
+
| ZIP + read-only verify, no blockchain until ready | `zip,readonly` |
|
|
57
|
+
| Always expose blockchain (startup gate if not ready) | `zip,blockchain,readonly` |
|
|
58
|
+
| Strict startup until account ready | add `account` and `NEOZIP_MCP_REQUIRE_ACCOUNT=true` |
|
|
59
|
+
|
|
60
|
+
### Sandbox
|
|
61
|
+
|
|
62
|
+
`NEOZIP_MCP_SANDBOX_PATHS` is a comma-separated allowlist of directories tools may read/write. Use your project root plus home (or specific folders) so archives under the workspace and `~/` are allowed.
|
|
63
|
+
|
|
64
|
+
Full tool reference: [OPERATIONS.md](../OPERATIONS.md).
|
|
65
|
+
|
|
66
|
+
Connect CLI reference: [NEOZIP_CONNECT_CLI.md](../NEOZIP_CONNECT_CLI.md).
|
|
67
|
+
|
|
68
|
+
## Troubleshooting (all hosts)
|
|
69
|
+
|
|
70
|
+
| Symptom | What to check |
|
|
71
|
+
|---------|----------------|
|
|
72
|
+
| MCP server fails to start | `which neozip-mcp`; Node 20+; run `neozip-mcp` manually and read stderr (`[neozip-mcp]` prefix) |
|
|
73
|
+
| `Path is outside sandbox` | Add the directory to `NEOZIP_MCP_SANDBOX_PATHS` |
|
|
74
|
+
| Tokenize / wallet errors | Run `neozip-connect`, finish wizard, restart MCP session; ask agent to call `connect_status` |
|
|
75
|
+
| Blockchain tools missing | Run `neozip-connect`, finish wizard, **reload MCP** (auto adds `blockchain` when ready). Or set `NEOZIP_MCP_CAPABILITIES=zip,blockchain,readonly` explicitly |
|
|
76
|
+
| Stale connect profile | Run `neozip-connect` — wizard offers reset at startup |
|
package/package.json
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "neozip-mcp",
|
|
3
|
+
"version": "0.1.0-beta",
|
|
4
|
+
"release_date": "2026-06-27",
|
|
5
|
+
"description": "NeoZip MCP server for ZIP archives, blockchain notarization, and AI agent integration (Beta)",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"neozip-connect": "dist/connect-cli.js",
|
|
9
|
+
"neozip-mcp": "dist/index.js"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"dist",
|
|
13
|
+
"README.md",
|
|
14
|
+
"LICENSE",
|
|
15
|
+
"CHANGELOG.md",
|
|
16
|
+
"DOCUMENTATION.md",
|
|
17
|
+
"SECURITY.md",
|
|
18
|
+
".cursor/mcp.json.global.example",
|
|
19
|
+
"docs"
|
|
20
|
+
],
|
|
21
|
+
"preferGlobal": true,
|
|
22
|
+
"scripts": {
|
|
23
|
+
"start": "tsx src/index.ts",
|
|
24
|
+
"connect": "tsx src/connect-cli.ts",
|
|
25
|
+
"connect:reset": "bash scripts/connect-reset.sh",
|
|
26
|
+
"init": "bash scripts/mcp-init.sh",
|
|
27
|
+
"build": "tsc && node scripts/bundle-neozipkit-pro.mjs && node scripts/add-shebang.js && chmod +x dist/index.js dist/connect-cli.js",
|
|
28
|
+
"prepack": "pnpm run build && node scripts/verify-pack-leaks.mjs && node scripts/prune-dist-pack.mjs",
|
|
29
|
+
"postpack": "pnpm run build",
|
|
30
|
+
"pack:local": "pnpm pack",
|
|
31
|
+
"pack:dry-run": "npm publish --access public --dry-run",
|
|
32
|
+
"publish:dry-run": "npm publish --access public --dry-run",
|
|
33
|
+
"prepublishOnly": "pnpm test && node scripts/verify-pack-leaks.mjs",
|
|
34
|
+
"test": "pnpm run build && node --test dist/config/capabilities.test.js dist/archive/archive.test.js dist/archive/encryption.test.js dist/archive/encryption.integration.test.js dist/archive/recipient-lookup.test.js dist/archive/recipient.integration.test.js dist/archive/crypto-self.test.js dist/archive/grep-content.test.js dist/archive/timestamp-network.test.js dist/tools/wallet-config-status.test.js dist/tools/connect-status.test.js dist/tools/identity-status.test.js dist/util/mask.test.js dist/util/token-service-fetch.test.js dist/token-service/require-configured.test.js dist/connection/credentials.test.js dist/connection/setup-guidance.test.js dist/connection/incomplete-setup.test.js dist/account/profile-store.test.js dist/account/account-state.test.js dist/startup-account-gate.test.js dist/connection/origin.test.js dist/connection/store.test.js dist/connection/migrate.test.js dist/connection/desktop-parity.test.js dist/connection/phone.test.js dist/connection/wallet-setup.test.js dist/connection/onboarding.test.js dist/connection/onboarding-phone.test.js dist/connection/onboarding-wallet.test.js dist/connection/onboarding-cli-polish.test.js dist/connection/magic-link.test.js dist/connection/phase.test.js dist/connection/token-auth.test.js dist/connection/interactive.test.js dist/connection/dump.test.js dist/connection/promote-active.test.js dist/connection/reset.test.js",
|
|
35
|
+
"test:fixtures:build": "tsx test/scripts/build-archive.ts",
|
|
36
|
+
"test:fixtures:build-blockchain": "tsx test/scripts/build-blockchain-archives.ts",
|
|
37
|
+
"test:fixtures:smoke": "tsx test/scripts/smoke.ts",
|
|
38
|
+
"test:fixtures:smoke-blockchain": "tsx test/scripts/smoke-blockchain.ts",
|
|
39
|
+
"test:fixtures": "pnpm run test:fixtures:build && pnpm run test:fixtures:smoke",
|
|
40
|
+
"test:fixtures:blockchain": "pnpm run test:fixtures:build-blockchain && pnpm run test:fixtures:smoke-blockchain",
|
|
41
|
+
"deps": "node scripts/deps.mjs"
|
|
42
|
+
},
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"dotenv": "^16.4.0",
|
|
45
|
+
"ethers": "^6.0.0",
|
|
46
|
+
"fastmcp": "^4.3.2",
|
|
47
|
+
"minimatch": "^10.0.3",
|
|
48
|
+
"neozip-blockchain": "^0.7.2",
|
|
49
|
+
"neozipkit": "^0.7.2",
|
|
50
|
+
"zod": "^3.23.0"
|
|
51
|
+
},
|
|
52
|
+
"overrides": {
|
|
53
|
+
"@modelcontextprotocol/sdk": "1.21.2"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"@neowareinc/neozipkit-pro": "^0.1.1",
|
|
57
|
+
"@types/node": "^22.13.11",
|
|
58
|
+
"esbuild": "^0.25.0",
|
|
59
|
+
"tsx": "^4.19.3",
|
|
60
|
+
"typescript": "^5.8.2"
|
|
61
|
+
},
|
|
62
|
+
"pnpm": {
|
|
63
|
+
"overrides": {
|
|
64
|
+
"@modelcontextprotocol/sdk": "1.21.2"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"keywords": [
|
|
68
|
+
"mcp",
|
|
69
|
+
"model-context-protocol",
|
|
70
|
+
"zip",
|
|
71
|
+
"compression",
|
|
72
|
+
"neozip",
|
|
73
|
+
"blockchain",
|
|
74
|
+
"tokenization",
|
|
75
|
+
"archive",
|
|
76
|
+
"encryption",
|
|
77
|
+
"neozipkit",
|
|
78
|
+
"claude",
|
|
79
|
+
"cursor"
|
|
80
|
+
],
|
|
81
|
+
"author": "NeoWare",
|
|
82
|
+
"repository": {
|
|
83
|
+
"type": "git",
|
|
84
|
+
"url": "git+https://github.com/NeoWareInc/neozip-mcp.git"
|
|
85
|
+
},
|
|
86
|
+
"bugs": {
|
|
87
|
+
"url": "https://github.com/NeoWareInc/neozip-support/issues"
|
|
88
|
+
},
|
|
89
|
+
"homepage": "https://github.com/NeoWareInc/neozip-mcp#readme",
|
|
90
|
+
"license": "UNLICENSED",
|
|
91
|
+
"publishConfig": {
|
|
92
|
+
"access": "public"
|
|
93
|
+
},
|
|
94
|
+
"engines": {
|
|
95
|
+
"node": ">=20.0.0"
|
|
96
|
+
},
|
|
97
|
+
"type": "module",
|
|
98
|
+
"packageManager": "pnpm@10.12.1"
|
|
99
|
+
}
|