@elisym/mcp 0.2.1 → 0.2.2
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/README.md +64 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -32,16 +32,74 @@ npx @elisym/mcp
|
|
|
32
32
|
|
|
33
33
|
### Docker
|
|
34
34
|
|
|
35
|
+
The wallet lives in `~/.elisym/agents/<name>/config.json` and is bind-mounted into the container, so the same identity works across `npx @elisym/mcp` and the docker image - you generate it once, both entry points read it.
|
|
36
|
+
|
|
37
|
+
**1. Bootstrap an agent** (one-time, interactive):
|
|
38
|
+
|
|
35
39
|
```bash
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
docker run --rm -it \
|
|
41
|
+
-v "$HOME/.elisym:/root/.elisym" \
|
|
42
|
+
ghcr.io/elisymlabs/mcp init
|
|
43
|
+
```
|
|
38
44
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
45
|
+
Generates a Nostr identity and a Solana keypair and writes them to `~/.elisym/agents/<chosen-name>/` on the host.
|
|
46
|
+
|
|
47
|
+
**2. Edit your MCP client's config file** and add the entry below. Replace `/Users/you/.elisym` with the absolute path to your home `.elisym` directory:
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"mcpServers": {
|
|
52
|
+
"elisym": {
|
|
53
|
+
"command": "docker",
|
|
54
|
+
"args": [
|
|
55
|
+
"run",
|
|
56
|
+
"--rm",
|
|
57
|
+
"-i",
|
|
58
|
+
"-e",
|
|
59
|
+
"ELISYM_AGENT=<agent-name>",
|
|
60
|
+
"-v",
|
|
61
|
+
"/Users/<you>/.elisym:/root/.elisym",
|
|
62
|
+
"ghcr.io/elisymlabs/mcp"
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
43
67
|
```
|
|
44
68
|
|
|
69
|
+
With a single agent in `~/.elisym/agents/`, you can omit `ELISYM_AGENT`. With multiple agents, pin one explicitly — otherwise selection is unspecified.
|
|
70
|
+
|
|
71
|
+
**Claude Code shortcut.** Instead of editing `~/.claude.json` by hand, use the built-in CLI: `claude mcp add elisym -- docker run --rm -i -e ELISYM_AGENT=<name> -v "$HOME/.elisym:/root/.elisym" ghcr.io/elisymlabs/mcp`.
|
|
72
|
+
|
|
73
|
+
Config file locations:
|
|
74
|
+
|
|
75
|
+
| Client | Path |
|
|
76
|
+
| -------------- | ----------------------------------------------------------------------------------------------------------- |
|
|
77
|
+
| Claude Desktop | `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS), `%APPDATA%/Claude/...` (Windows) |
|
|
78
|
+
| Claude Code | `~/.claude.json` (top-level `mcpServers`) |
|
|
79
|
+
| Cursor | `~/.cursor/mcp.json` |
|
|
80
|
+
| Windsurf | `~/Library/Application Support/Windsurf/mcp.json` (macOS), `~/.windsurf/mcp.json` (Linux) |
|
|
81
|
+
|
|
82
|
+
### Encrypted configs
|
|
83
|
+
|
|
84
|
+
If you set a passphrase during `init`, the Nostr and Solana secret keys are encrypted at rest. Every subsequent run (docker or `npx @elisym/mcp`) needs the same passphrase via `ELISYM_PASSPHRASE`, otherwise the agent refuses to load with a clear error.
|
|
85
|
+
|
|
86
|
+
The bootstrap step is unchanged - the wizard collects the passphrase interactively. For step 2 (MCP client wiring), pick one of:
|
|
87
|
+
|
|
88
|
+
- **Hardcode in the client config** - simplest, but the passphrase ends up in plaintext on disk:
|
|
89
|
+
|
|
90
|
+
```json
|
|
91
|
+
"args": [
|
|
92
|
+
"run", "--rm", "-i",
|
|
93
|
+
"-v", "/Users/you/.elisym:/root/.elisym",
|
|
94
|
+
"-e", "ELISYM_PASSPHRASE=your-passphrase",
|
|
95
|
+
"ghcr.io/elisymlabs/mcp"
|
|
96
|
+
]
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
- **Inherit from the parent process** - safer. Use `"-e", "ELISYM_PASSPHRASE"` (no `=value`) in `args` and launch the client from a shell that already has it exported (`ELISYM_PASSPHRASE=... claude`). Works for Claude Code (CLI). Claude Desktop and other GUI clients on macOS don't see your shell env - hardcode it or use `launchctl setenv`.
|
|
100
|
+
|
|
101
|
+
> Env vars are visible to other processes via `/proc/<pid>/environ` on Linux. For production mainnet use, prefer an OS keyring or credential helper.
|
|
102
|
+
|
|
45
103
|
## Environment Variables
|
|
46
104
|
|
|
47
105
|
| Variable | Description |
|