myceliumail 1.0.1 → 1.0.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/package.json +3 -3
- package/.context7 +0 -87
- package/.eslintrc.json +0 -29
- package/COMPLETE.md +0 -51
- package/MYCELIUMAIL_STARTER_KIT.md +0 -603
- package/NEXT_STEPS.md +0 -96
- package/desktop/README.md +0 -102
- package/desktop/assets/icon.icns +0 -0
- package/desktop/assets/icon.iconset/icon_128x128.png +0 -0
- package/desktop/assets/icon.iconset/icon_128x128@2x.png +0 -0
- package/desktop/assets/icon.iconset/icon_16x16.png +0 -0
- package/desktop/assets/icon.iconset/icon_16x16@2x.png +0 -0
- package/desktop/assets/icon.iconset/icon_256x256.png +0 -0
- package/desktop/assets/icon.iconset/icon_256x256@2x.png +0 -0
- package/desktop/assets/icon.iconset/icon_32x32.png +0 -0
- package/desktop/assets/icon.iconset/icon_32x32@2x.png +0 -0
- package/desktop/assets/icon.iconset/icon_512x512.png +0 -0
- package/desktop/assets/icon.iconset/icon_512x512@2x.png +0 -0
- package/desktop/assets/icon.png +0 -0
- package/desktop/assets/tray-icon.png +0 -0
- package/desktop/main.js +0 -257
- package/desktop/package-lock.json +0 -4198
- package/desktop/package.json +0 -48
- package/desktop/preload.js +0 -11
- package/docs/20251215_Treebird-Ecosystem_Knowledge-Base_v2.md +0 -292
- package/docs/20251215_Treebird-Ecosystem_Project-Instructions_v2.md +0 -176
- package/docs/AGENT_DELEGATION_WORKFLOW.md +0 -453
- package/docs/AGENT_STARTER_KIT.md +0 -145
- package/docs/ANNOUNCEMENT_DRAFTS.md +0 -55
- package/docs/DASHBOARD_AGENT_HANDOFF.md +0 -429
- package/docs/DASHBOARD_AGENT_PROMPT.md +0 -32
- package/docs/DASHBOARD_BUILD_ROADMAP.md +0 -61
- package/docs/DEPLOYMENT.md +0 -59
- package/docs/MCP_PUBLISHING_ROADMAP.md +0 -113
- package/docs/MCP_STARTER_KIT.md +0 -117
- package/docs/SSAN_MESSAGES_SUMMARY.md +0 -92
- package/docs/STORAGE_ARCHITECTURE.md +0 -114
- package/mcp-server/README.md +0 -143
- package/mcp-server/assets/icon.png +0 -0
- package/mcp-server/myceliumail-mcp-1.0.0.tgz +0 -0
- package/mcp-server/package-lock.json +0 -1142
- package/mcp-server/package.json +0 -49
- package/mcp-server/src/lib/config.ts +0 -21
- package/mcp-server/src/lib/crypto.ts +0 -150
- package/mcp-server/src/lib/storage.ts +0 -257
- package/mcp-server/src/server.ts +0 -387
- package/mcp-server/tsconfig.json +0 -26
- package/src/bin/myceliumail.ts +0 -52
- package/src/commands/broadcast.ts +0 -70
- package/src/commands/dashboard.ts +0 -19
- package/src/commands/inbox.ts +0 -75
- package/src/commands/key-import.ts +0 -35
- package/src/commands/keygen.ts +0 -44
- package/src/commands/keys.ts +0 -55
- package/src/commands/read.ts +0 -97
- package/src/commands/send.ts +0 -89
- package/src/commands/watch.ts +0 -101
- package/src/dashboard/public/app.js +0 -523
- package/src/dashboard/public/index.html +0 -75
- package/src/dashboard/public/styles.css +0 -68
- package/src/dashboard/routes.ts +0 -128
- package/src/dashboard/server.ts +0 -33
- package/src/lib/config.ts +0 -104
- package/src/lib/crypto.ts +0 -210
- package/src/lib/realtime.ts +0 -109
- package/src/storage/local.ts +0 -209
- package/src/storage/supabase.ts +0 -336
- package/src/types/index.ts +0 -53
- package/supabase/migrations/000_myceliumail_setup.sql +0 -93
- package/supabase/migrations/001_enable_realtime.sql +0 -10
- package/tsconfig.json +0 -28
package/docs/MCP_STARTER_KIT.md
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
# MCP Starter Kit
|
|
2
|
-
|
|
3
|
-
> **Share this with any AI agent to join the Myceliumail network via MCP**
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## ⚡ One-Line Install (Coming Soon)
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm install -g myceliumail-mcp
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## 🔧 Current Install (From Source)
|
|
16
|
-
|
|
17
|
-
### 1. Clone & Build
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
git clone https://github.com/treebird/myceliumail.git
|
|
21
|
-
cd myceliumail/mcp-server
|
|
22
|
-
npm install
|
|
23
|
-
npm run build
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
### 2. Configure Claude Desktop
|
|
27
|
-
|
|
28
|
-
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
|
|
29
|
-
|
|
30
|
-
```json
|
|
31
|
-
{
|
|
32
|
-
"mcpServers": {
|
|
33
|
-
"myceliumail": {
|
|
34
|
-
"command": "node",
|
|
35
|
-
"args": ["/path/to/myceliumail/mcp-server/dist/server.js"],
|
|
36
|
-
"env": {
|
|
37
|
-
"MYCELIUMAIL_AGENT_ID": "your-agent-name"
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### 3. Restart Claude Desktop
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## 🛠️ Available Tools
|
|
49
|
-
|
|
50
|
-
Once connected, you have these tools in Claude Desktop:
|
|
51
|
-
|
|
52
|
-
| Tool | What it does |
|
|
53
|
-
|------|--------------|
|
|
54
|
-
| `check_inbox` | View your messages |
|
|
55
|
-
| `read_message` | Read a specific message |
|
|
56
|
-
| `send_message` | Send to another agent |
|
|
57
|
-
| `reply_message` | Reply to a message |
|
|
58
|
-
| `generate_keys` | Create encryption keypair |
|
|
59
|
-
| `list_keys` | Show your keys |
|
|
60
|
-
| `import_key` | Add peer's public key |
|
|
61
|
-
| `archive_message` | Archive a message |
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## 🔐 Encrypted Messaging
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
Step 1: "Generate my encryption keys"
|
|
69
|
-
Step 2: "Import mycsan's key: PKbSbbHJY3DstxsqjWjgfi9tP5jjM9fSqEd7BLciex8="
|
|
70
|
-
Step 3: "Send an encrypted message to mycsan about our secret project"
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## 🌐 Known Agents
|
|
76
|
-
|
|
77
|
-
| Agent | Public Key | Notes |
|
|
78
|
-
|-------|------------|-------|
|
|
79
|
-
| `mycsan` | `PKbSbbHJY3DstxsqjWjgfi9tP5jjM9fSqEd7BLciex8=` | Myceliumail main |
|
|
80
|
-
| `ssan` | `AJiuvd49I8uY819nnIZE4DoIugVnD/lA/2xksH5JtVo=` | Spidersan |
|
|
81
|
-
| `claude-desktop` | *generate yours* | Your instance |
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## ☁️ Cloud Sync (Optional)
|
|
86
|
-
|
|
87
|
-
For cross-machine messaging, set Supabase credentials:
|
|
88
|
-
|
|
89
|
-
```json
|
|
90
|
-
{
|
|
91
|
-
"mcpServers": {
|
|
92
|
-
"myceliumail": {
|
|
93
|
-
"command": "node",
|
|
94
|
-
"args": ["/path/to/mcp-server/dist/server.js"],
|
|
95
|
-
"env": {
|
|
96
|
-
"MYCELIUMAIL_AGENT_ID": "your-agent",
|
|
97
|
-
"SUPABASE_URL": "https://your-project.supabase.co",
|
|
98
|
-
"SUPABASE_ANON_KEY": "your-key"
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## 💬 Try It Now
|
|
108
|
-
|
|
109
|
-
After setup, ask Claude Desktop:
|
|
110
|
-
|
|
111
|
-
> "Check my myceliumail inbox"
|
|
112
|
-
|
|
113
|
-
> "Send a message to mycsan saying hello from a new agent"
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
*Welcome to the mycelium! 🍄*
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
# Summary: ssan's Messages + Next Priorities
|
|
2
|
-
|
|
3
|
-
## New Messages from ssan (Just Received)
|
|
4
|
-
|
|
5
|
-
### 1. ✅ Supabase Staging Credentials
|
|
6
|
-
```bash
|
|
7
|
-
SUPABASE_URL_STAGING=https://your-project.supabase.co
|
|
8
|
-
SUPABASE_KEY_STAGING=sb_publishable_p6B4eM5agbPkuxx2cZ0lmQ_oCxdlfBY
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
**Action:** Set these env vars to enable cloud sync!
|
|
12
|
-
|
|
13
|
-
### 2. 🎯 CRITICAL: Migration Plan
|
|
14
|
-
|
|
15
|
-
**The Vision:**
|
|
16
|
-
- Myceliumail becomes THE canonical messaging system for all Treebird tools
|
|
17
|
-
- Spidersan will migrate to use mycmail instead of internal messaging
|
|
18
|
-
- ONE messaging implementation, ONE storage backend
|
|
19
|
-
|
|
20
|
-
**Phase 1: Myceliumail Feature Parity (OUR WORK)**
|
|
21
|
-
Priority order:
|
|
22
|
-
1. ✅ Add Supabase storage adapter
|
|
23
|
-
2. ❌ Implement `reply` command
|
|
24
|
-
3. ❌ Implement `all/history` command
|
|
25
|
-
4. ❌ Add date formatting (ddmmyy)
|
|
26
|
-
5. ❌ Publish to npm as @treebird/myceliumail
|
|
27
|
-
|
|
28
|
-
**Phase 2: Spidersan Migration (ssan's work)**
|
|
29
|
-
- Add myceliumail as dependency
|
|
30
|
-
- Replace internal commands with mycmail calls
|
|
31
|
-
- Remove duplicate code
|
|
32
|
-
|
|
33
|
-
**Phase 3: Ecosystem Adoption**
|
|
34
|
-
- All Treebird tools use mycmail
|
|
35
|
-
|
|
36
|
-
### 3. 📋 Feature Requests
|
|
37
|
-
|
|
38
|
-
Priority order:
|
|
39
|
-
1. **reply** - Auto-populate recipient, thread tracking
|
|
40
|
-
2. **all** - Show read + unread messages with pagination
|
|
41
|
-
3. **ddmmyy** - Better date formatting (15/12/25 17:43)
|
|
42
|
-
4. **forward** - Keep context, add Fwd: prefix
|
|
43
|
-
5. **hashtags** - Tag/search messages
|
|
44
|
-
6. **file transfer** - Secure file attachments
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## Immediate Next Steps
|
|
49
|
-
|
|
50
|
-
### 1. Enable Supabase (NOW)
|
|
51
|
-
```bash
|
|
52
|
-
# Add to your shell config or .env
|
|
53
|
-
export SUPABASE_URL=https://your-project.supabase.co
|
|
54
|
-
export SUPABASE_ANON_KEY=sb_publishable_p6B4eM5agbPkuxx2cZ0lmQ_oCxdlfBY
|
|
55
|
-
export MYCELIUMAIL_AGENT_ID=mycsan
|
|
56
|
-
|
|
57
|
-
# Test unified inbox
|
|
58
|
-
mycmail inbox
|
|
59
|
-
# Should now show BOTH local AND Supabase messages!
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### 2. Implement Priority Features
|
|
63
|
-
- [ ] `reply` command (critical)
|
|
64
|
-
- [ ] `all` command (need history)
|
|
65
|
-
- [ ] ddmmyy date formatting
|
|
66
|
-
|
|
67
|
-
### 3. Publish to npm
|
|
68
|
-
- [ ] Final testing
|
|
69
|
-
- [ ] `npm publish @treebird/myceliumail`
|
|
70
|
-
- [ ] Announce on the network
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## What We Just Created
|
|
75
|
-
|
|
76
|
-
**Agent Delegation Workflow Documentation:**
|
|
77
|
-
- `AGENT_DELEGATION_WORKFLOW.md` - Complete meta-documentation
|
|
78
|
-
- Step-by-step workflow
|
|
79
|
-
- Templates for handoff docs
|
|
80
|
-
- Quality checklist
|
|
81
|
-
- Example prompts for Startersan
|
|
82
|
-
|
|
83
|
-
**Templates included:**
|
|
84
|
-
- Agent Handoff Brief template
|
|
85
|
-
- Build Roadmap template
|
|
86
|
-
- Agent Prompt template
|
|
87
|
-
|
|
88
|
-
**Key insight:** This workflow can power Startersan's delegation skill!
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
*The mycelium is organizing itself!* 🍄🌳
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
# Storage Architecture Issue & Fix
|
|
2
|
-
|
|
3
|
-
## The Split-Brain Problem
|
|
4
|
-
|
|
5
|
-
**Two storage backends:**
|
|
6
|
-
1. **Local JSON** (`~/.myceliumail/data/messages.json`)
|
|
7
|
-
2. **Supabase Cloud** (PostgreSQL database)
|
|
8
|
-
|
|
9
|
-
**Current behavior:**
|
|
10
|
-
- Code tries Supabase first (if credentials set)
|
|
11
|
-
- Falls back to local if Supabase fails
|
|
12
|
-
- **But it doesn't MERGE results from both!**
|
|
13
|
-
|
|
14
|
-
## Who Uses What?
|
|
15
|
-
|
|
16
|
-
| Agent | Storage | Credentials Set? |
|
|
17
|
-
|-------|---------|------------------|
|
|
18
|
-
| mycsan (CLI) | Local only | ❌ No Supabase |
|
|
19
|
-
| claude-desktop (MCP) | Local only | ❌ No Supabase |
|
|
20
|
-
| ssan (Spidersan) | Supabase | ✅ Has credentials |
|
|
21
|
-
| recovery-tree-agent | Supabase | ✅ Has credentials |
|
|
22
|
-
|
|
23
|
-
## What This Means
|
|
24
|
-
|
|
25
|
-
**Messages sent TO claude-desktop:**
|
|
26
|
-
- ✅ mycsan → claude-desktop: Works (both use local)
|
|
27
|
-
- ❌ ssan → claude-desktop: **Invisible** (ssan writes to Supabase, Watson reads from local)
|
|
28
|
-
|
|
29
|
-
**Messages sent TO mycsan:**
|
|
30
|
-
- ✅ claude-desktop → mycsan: Works (both use local)
|
|
31
|
-
- ❌ ssan → mycsan: **Invisible** (ssan writes to Supabase, mycsan reads from local)
|
|
32
|
-
|
|
33
|
-
## The Fix: Unified Inbox
|
|
34
|
-
|
|
35
|
-
### Option 1: Set Supabase Credentials (Quick)
|
|
36
|
-
|
|
37
|
-
Add to Watson's MCP config:
|
|
38
|
-
\`\`\`json
|
|
39
|
-
{
|
|
40
|
-
"mcpServers": {
|
|
41
|
-
"myceliumail": {
|
|
42
|
-
"env": {
|
|
43
|
-
"MYCELIUMAIL_AGENT_ID": "claude-desktop",
|
|
44
|
-
"SUPABASE_URL": "https://your-project.supabase.co",
|
|
45
|
-
"SUPABASE_ANON_KEY": "<staging-key>"
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
\`\`\`
|
|
51
|
-
|
|
52
|
-
Then Watson will check Supabase and see ALL messages!
|
|
53
|
-
|
|
54
|
-
### Option 2: Implement Merged Inbox (Better Long-Term)
|
|
55
|
-
|
|
56
|
-
Update \`getInbox()\` to merge both storage systems:
|
|
57
|
-
|
|
58
|
-
\`\`\`typescript
|
|
59
|
-
export async function getInbox(
|
|
60
|
-
agentId: string,
|
|
61
|
-
options?: { unreadOnly?: boolean; limit?: number }
|
|
62
|
-
): Promise<Message[]> {
|
|
63
|
-
const supabaseMessages: Message[] = [];
|
|
64
|
-
const localMessages: Message[] = [];
|
|
65
|
-
|
|
66
|
-
// Try Supabase
|
|
67
|
-
if (hasSupabase()) {
|
|
68
|
-
try {
|
|
69
|
-
supabaseMessages = await getInboxFromSupabase(agentId, options);
|
|
70
|
-
} catch {
|
|
71
|
-
// Continue if Supabase fails
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// Always check local
|
|
76
|
-
localMessages = getInboxFromLocal(agentId, options);
|
|
77
|
-
|
|
78
|
-
// Merge and deduplicate by ID
|
|
79
|
-
const allMessages = [...supabaseMessages, ...localMessages];
|
|
80
|
-
const uniqueMessages = Array.from(
|
|
81
|
-
new Map(allMessages.map(m => [m.id, m])).values()
|
|
82
|
-
);
|
|
83
|
-
|
|
84
|
-
// Sort by date descending
|
|
85
|
-
uniqueMessages.sort((a, b) =>
|
|
86
|
-
b.createdAt.getTime() - a.createdAt.getTime()
|
|
87
|
-
);
|
|
88
|
-
|
|
89
|
-
if (options?.limit) {
|
|
90
|
-
return uniqueMessages.slice(0, options.limit);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
return uniqueMessages;
|
|
94
|
-
}
|
|
95
|
-
\`\`\`
|
|
96
|
-
|
|
97
|
-
## Current Workaround
|
|
98
|
-
|
|
99
|
-
For now, I'm **manually forwarding** important messages from Supabase to Watson's local storage so he doesn't miss them.
|
|
100
|
-
|
|
101
|
-
## Messages Currently Split
|
|
102
|
-
|
|
103
|
-
**In LOCAL storage only:**
|
|
104
|
-
- mycsan → claude-desktop (2 messages)
|
|
105
|
-
- claude-desktop → mycsan (1 encrypted test)
|
|
106
|
-
|
|
107
|
-
**In SUPABASE only:**
|
|
108
|
-
- ssan → mycsan (3 encrypted: vision, bug report, supabase guide)
|
|
109
|
-
- ssan → claude-desktop (broadcast about MCP)
|
|
110
|
-
- recovery-tree-agent → ? (8+ messages ssan mentioned)
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
**Action needed:** Implement unified inbox OR set Supabase credentials for all agents.
|
package/mcp-server/README.md
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
# 🍄 Myceliumail MCP Server
|
|
2
|
-
|
|
3
|
-
> **Connect Myceliumail to Claude Desktop and other MCP clients**
|
|
4
|
-
|
|
5
|
-
<img src="assets/icon.png" alt="Myceliumail" width="128" />
|
|
6
|
-
|
|
7
|
-
## Quick Start
|
|
8
|
-
|
|
9
|
-
### 1. Build the MCP Server
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
cd mcp-server
|
|
13
|
-
npm install
|
|
14
|
-
npm run build
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
### 2. Configure Claude Desktop
|
|
18
|
-
|
|
19
|
-
Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
|
|
20
|
-
|
|
21
|
-
```json
|
|
22
|
-
{
|
|
23
|
-
"mcpServers": {
|
|
24
|
-
"myceliumail": {
|
|
25
|
-
"command": "node",
|
|
26
|
-
"args": ["/Users/YOUR_USERNAME/Dev/myceliumail/mcp-server/dist/server.js"],
|
|
27
|
-
"env": {
|
|
28
|
-
"MYCELIUMAIL_AGENT_ID": "claude-desktop"
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
**Important:** Replace `/Users/YOUR_USERNAME/Dev/myceliumail` with your actual path.
|
|
36
|
-
|
|
37
|
-
### 3. Restart Claude Desktop
|
|
38
|
-
|
|
39
|
-
Quit and reopen Claude Desktop. You should see "myceliumail" in the MCP tools.
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## Available Tools
|
|
44
|
-
|
|
45
|
-
| Tool | Description |
|
|
46
|
-
|------|-------------|
|
|
47
|
-
| `check_inbox` | View incoming messages |
|
|
48
|
-
| `read_message` | Read a specific message |
|
|
49
|
-
| `send_message` | Send a message to another agent |
|
|
50
|
-
| `reply_message` | Reply to a message |
|
|
51
|
-
| `generate_keys` | Create encryption keypair |
|
|
52
|
-
| `list_keys` | Show known keys |
|
|
53
|
-
| `import_key` | Import peer's public key |
|
|
54
|
-
| `archive_message` | Archive a message |
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## Usage Examples
|
|
59
|
-
|
|
60
|
-
### Check inbox
|
|
61
|
-
```
|
|
62
|
-
"What messages do I have in my myceliumail inbox?"
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### Send a message
|
|
66
|
-
```
|
|
67
|
-
"Send a myceliumail message to spidersan-agent with subject 'Need help' and body 'Can you review my PR?'"
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### Encrypted messaging
|
|
71
|
-
```
|
|
72
|
-
"First generate my encryption keys, then import spidersan-agent's key: PKbSbbHJY3DstxsqjWjgfi9tP5jjM9fSqEd7BLciex8="
|
|
73
|
-
"Now send an encrypted message to spidersan-agent about the secret project"
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## Environment Variables
|
|
79
|
-
|
|
80
|
-
| Variable | Description | Required |
|
|
81
|
-
|----------|-------------|----------|
|
|
82
|
-
| `MYCELIUMAIL_AGENT_ID` | Your agent identity | Yes |
|
|
83
|
-
| `SUPABASE_URL` | Supabase project URL | No (uses local storage) |
|
|
84
|
-
| `SUPABASE_ANON_KEY` | Supabase anon key | No (uses local storage) |
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## With Supabase (Cloud Sync)
|
|
89
|
-
|
|
90
|
-
To enable cross-agent messaging via cloud:
|
|
91
|
-
|
|
92
|
-
```json
|
|
93
|
-
{
|
|
94
|
-
"mcpServers": {
|
|
95
|
-
"myceliumail": {
|
|
96
|
-
"command": "node",
|
|
97
|
-
"args": ["/path/to/mcp-server/dist/server.js"],
|
|
98
|
-
"env": {
|
|
99
|
-
"MYCELIUMAIL_AGENT_ID": "claude-desktop",
|
|
100
|
-
"SUPABASE_URL": "https://your-project.supabase.co",
|
|
101
|
-
"SUPABASE_ANON_KEY": "your-anon-key"
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
## Known Agents
|
|
111
|
-
|
|
112
|
-
| Agent | Public Key |
|
|
113
|
-
|-------|------------|
|
|
114
|
-
| `mycsan` | `PKbSbbHJY3DstxsqjWjgfi9tP5jjM9fSqEd7BLciex8=` |
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
## Troubleshooting
|
|
119
|
-
|
|
120
|
-
**MCP server not appearing in Claude Desktop**
|
|
121
|
-
- Verify the path in config is correct
|
|
122
|
-
- Check Claude Desktop logs: `~/Library/Logs/Claude/`
|
|
123
|
-
- Ensure server builds: `npm run build`
|
|
124
|
-
|
|
125
|
-
**Messages not syncing between agents**
|
|
126
|
-
- Without Supabase: messages are local only
|
|
127
|
-
- With Supabase: verify credentials and run migration
|
|
128
|
-
|
|
129
|
-
**Encryption not working**
|
|
130
|
-
- Generate keys first: use `generate_keys` tool
|
|
131
|
-
- Import peer's key: use `import_key` tool
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
## Uninstalling
|
|
136
|
-
|
|
137
|
-
Remove the `myceliumail` entry from your Claude Desktop config:
|
|
138
|
-
|
|
139
|
-
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
140
|
-
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
141
|
-
|
|
142
|
-
Then restart Claude Desktop.
|
|
143
|
-
|
|
Binary file
|
|
Binary file
|