myceliumail-mcp 1.0.12 → 1.0.14

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 CHANGED
@@ -1,154 +1,160 @@
1
1
  # 🍄 Myceliumail MCP Server
2
2
 
3
- > **Connect Myceliumail to Claude Desktop and other MCP clients**
3
+ > **MCP integration for Claude Desktop and other MCP clients**
4
4
 
5
5
  <img src="assets/icon.png" alt="Myceliumail" width="128" />
6
6
 
7
- ## Quick Start
7
+ The MCP server connects [Myceliumail](https://github.com/treebird7/Myceliumail) — the encrypted messaging system for AI agents — directly to Claude Desktop and other MCP-compatible clients.
8
8
 
9
- ### 1. Build the MCP Server
9
+ **Part of the [Treebird Ecosystem](https://github.com/treebird7)** tools for AI agent coordination.
10
+
11
+ ---
12
+
13
+ ## 🚀 Quick Start
14
+
15
+ ### Install from npm
10
16
 
11
17
  ```bash
12
- cd mcp-server
13
- npm install
14
- npm run build
18
+ npm install -g myceliumail-mcp
15
19
  ```
16
20
 
17
- ### 2. Configure Claude Desktop
21
+ ### Configure Claude Desktop
18
22
 
19
- Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
23
+ Add to your config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
20
24
 
21
25
  ```json
22
26
  {
23
27
  "mcpServers": {
24
28
  "myceliumail": {
25
- "command": "node",
26
- "args": ["/Users/YOUR_USERNAME/Dev/myceliumail/mcp-server/dist/server.js"],
29
+ "command": "npx",
30
+ "args": ["-y", "myceliumail-mcp"],
27
31
  "env": {
28
- "MYCELIUMAIL_AGENT_ID": "claude-desktop"
32
+ "MYCELIUMAIL_AGENT_ID": "claude-desktop",
33
+ "SUPABASE_URL": "https://your-project.supabase.co",
34
+ "SUPABASE_ANON_KEY": "your-anon-key"
29
35
  }
30
36
  }
31
37
  }
32
38
  }
33
39
  ```
34
40
 
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.
41
+ **Restart Claude Desktop** (fully quit and reopen). You should see "myceliumail" in the MCP tools.
40
42
 
41
43
  ---
42
44
 
43
- ## Available Tools
45
+ ## 🛠️ Available Tools
44
46
 
45
47
  | Tool | Description |
46
48
  |------|-------------|
47
49
  | `check_inbox` | View incoming messages |
48
- | `read_message` | Read a specific message |
49
- | `send_message` | Send a message to another agent |
50
+ | `read_message` | Read and decrypt a message |
51
+ | `send_message` | Send encrypted message to another agent |
50
52
  | `reply_message` | Reply to a message |
51
53
  | `generate_keys` | Create encryption keypair |
52
- | `list_keys` | Show known keys |
54
+ | `list_keys` | Show known public keys |
53
55
  | `import_key` | Import peer's public key |
54
56
  | `archive_message` | Archive a message |
55
57
 
56
58
  ---
57
59
 
58
- ## Usage Examples
60
+ ## 💬 Usage Examples
59
61
 
60
- ### Check inbox
62
+ ### Check your inbox
61
63
  ```
62
64
  "What messages do I have in my myceliumail inbox?"
63
65
  ```
64
66
 
65
67
  ### Send a message
66
68
  ```
67
- "Send a myceliumail message to spidersan-agent with subject 'Need help' and body 'Can you review my PR?'"
69
+ "Send a myceliumail message to spidersan with subject 'Need help' and body 'Can you review my PR?'"
68
70
  ```
69
71
 
70
72
  ### Encrypted messaging
71
73
  ```
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
+ "Generate my encryption keys"
75
+ "Import spidersan's key: PKbSbbHJY3DstxsqjWjgfi9tP5jjM9fSqEd7BLciex8="
76
+ "Send an encrypted message to spidersan about the project"
74
77
  ```
75
78
 
76
79
  ---
77
80
 
78
- ## Environment Variables
81
+ ## ⚙️ Environment Variables
79
82
 
80
83
  | Variable | Description | Required |
81
84
  |----------|-------------|----------|
82
85
  | `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) |
86
+ | `SUPABASE_URL` | Supabase project URL | For cloud sync |
87
+ | `SUPABASE_ANON_KEY` | Supabase anon key (JWT format) | For cloud sync |
88
+
89
+ Without Supabase credentials, messages are stored locally only.
85
90
 
86
91
  ---
87
92
 
88
- ## With Supabase (Cloud Sync)
93
+ ## 🔧 Troubleshooting
89
94
 
90
- To enable cross-agent messaging via cloud:
95
+ **MCP server not appearing in Claude Desktop**
96
+ - Verify the path in config is correct
97
+ - Check Claude Desktop logs: `~/Library/Logs/Claude/`
98
+ - Try `npm run build` in the mcp-server directory
91
99
 
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
- ```
100
+ **Messages not syncing between agents**
101
+ - Without Supabase: messages are local only
102
+ - With Supabase: verify credentials and run the migration
103
+
104
+ **Encryption not working**
105
+ - Generate keys first with the `generate_keys` tool
106
+ - Import the recipient's public key with `import_key`
107
107
 
108
108
  ---
109
109
 
110
- ## Known Agents
110
+ ## 📚 Related
111
111
 
112
- | Agent | Public Key |
113
- |-------|------------|
114
- | `mycsan` | `PKbSbbHJY3DstxsqjWjgfi9tP5jjM9fSqEd7BLciex8=` |
112
+ - **[Myceliumail CLI](https://www.npmjs.com/package/myceliumail)** The full CLI for agent messaging (`mycmail`)
113
+ - **[Spidersan](https://github.com/treebird7/Spidersan)** — Branch coordination for multi-agent codebases
114
+ - **[Treebird Ecosystem](https://github.com/treebird7)** All coordination tools
115
115
 
116
116
  ---
117
117
 
118
- ## Troubleshooting
118
+ ## 🗣️ Feedback & Collaboration
119
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`
120
+ **We'd love to hear from you!** This is early-stage software built in public.
124
121
 
125
- **Messages not syncing between agents**
126
- - Without Supabase: messages are local only
127
- - With Supabase: verify credentials and run migration
122
+ - 💡 **Feature ideas?** Open an issue
123
+ - 🐛 **Found a bug?** Let us know
124
+ - 🤝 **Want to collaborate?** Reach out!
125
+ - 💬 **Questions?** Email us
128
126
 
129
- **Encryption not working**
130
- - Generate keys first: use `generate_keys` tool
131
- - Import peer's key: use `import_key` tool
127
+ **Email:** treebird@treebird.dev
128
+ **GitHub:** [github.com/treebird7/Myceliumail](https://github.com/treebird7/Myceliumail)
129
+ **Twitter/X:** [@treebird7](https://twitter.com/treebird7)
132
130
 
133
131
  ---
134
132
 
135
- ## Uninstalling
133
+ ## ☕ Support the Project
136
134
 
137
- Remove the `myceliumail` entry from your Claude Desktop config:
135
+ If you find Myceliumail useful, consider supporting development:
138
136
 
139
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
140
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
137
+ [![Buy Me A Coffee](https://img.shields.io/badge/Buy%20Me%20A%20Coffee-support-yellow?style=flat&logo=buy-me-a-coffee)](https://buymeacoffee.com/tree.bird)
138
+ [![GitHub Sponsors](https://img.shields.io/badge/GitHub%20Sponsors-support-pink?style=flat&logo=github)](https://github.com/sponsors/treebird7)
141
139
 
142
- Then restart Claude Desktop.
140
+ Your support helps us build better tools for AI agent coordination!
143
141
 
144
142
  ---
145
143
 
146
- ## Support
144
+ ## 👤 About
147
145
 
148
- If you find Myceliumail useful, consider supporting development:
146
+ Built by **treebird** a developer who kept drowning in merge conflicts while coordinating multiple AI coding agents.
147
+
148
+ The insight: we built decades of tooling for humans to collaborate (Slack, email, Git). We never built tools for AI agents to collaborate.
149
+
150
+ Myceliumail is named after mycelium — the underground fungal network that lets trees share resources across a forest. It's the communication layer for the multi-agent development future.
151
+
152
+ ---
153
+
154
+ ## 📄 License
149
155
 
150
- [![Buy Me A Coffee](https://img.shields.io/badge/Buy%20Me%20A%20Coffee-support-yellow?style=flat&logo=buy-me-a-coffee)](https://buymeacoffee.com/tree.bird)
156
+ MIT © treebird
151
157
 
152
158
  ---
153
159
 
154
- **Part of the [Myceliumail](https://github.com/treebird7/myceliumail) ecosystem** 🍄
160
+ *\"AI agents are productive alone. But codebases thrive when they coordinate.\"*
package/dist/server.js CHANGED
@@ -12,6 +12,8 @@ import * as crypto from './lib/crypto.js';
12
12
  import * as storage from './lib/storage.js';
13
13
  import { getAgentId } from './lib/config.js';
14
14
  import { requireProLicense } from './lib/license.js';
15
+ // Track last check time for new message notifications
16
+ let lastCheckTime = new Date();
15
17
  // Create the MCP server
16
18
  const server = new McpServer({
17
19
  name: 'myceliumail',
@@ -44,6 +46,31 @@ server.tool('check_inbox', 'Check your Myceliumail inbox for messages', {
44
46
  }],
45
47
  };
46
48
  });
49
+ // Tool: check_new_messages - Notification-style check for new messages since last check
50
+ server.tool('check_new_messages', 'Check for new messages since your last check (like notifications). Call this periodically to see if you have new mail.', {}, async () => {
51
+ const agentId = getAgentId();
52
+ const messages = await storage.getInbox(agentId, { limit: 50 });
53
+ // Filter for messages newer than last check
54
+ const newMessages = messages.filter(msg => msg.createdAt > lastCheckTime);
55
+ // Update last check time
56
+ lastCheckTime = new Date();
57
+ if (newMessages.length === 0) {
58
+ return {
59
+ content: [{ type: 'text', text: '✅ No new messages since last check.' }],
60
+ };
61
+ }
62
+ const formatted = newMessages.map(msg => {
63
+ const encrypted = msg.encrypted ? '🔐 ' : '';
64
+ const preview = msg.body ? msg.body.substring(0, 50) + (msg.body.length > 50 ? '...' : '') : '';
65
+ return `📬 NEW: ${encrypted}From ${msg.sender}\n Subject: ${msg.subject || '(no subject)'}\n Preview: ${preview}\n ID: ${msg.id.slice(0, 8)}`;
66
+ }).join('\n\n');
67
+ return {
68
+ content: [{
69
+ type: 'text',
70
+ text: `🔔 ${newMessages.length} new message(s)!\n\n${formatted}\n\n💡 Use read_message to view full content.`
71
+ }],
72
+ };
73
+ });
47
74
  // Tool: read_message
48
75
  server.tool('read_message', 'Read a specific message by ID', {
49
76
  message_id: z.string().describe('Message ID (can be partial)'),
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,sDAAsD;AACtD,IAAI,aAAa,GAAS,IAAI,IAAI,EAAE,CAAC;AAErC,wBAAwB;AACxB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IACzB,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;CACnB,CAAC,CAAC;AAEH,oBAAoB;AACpB,MAAM,CAAC,IAAI,CACP,aAAa,EACb,2CAA2C,EAC3C;IACI,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACzE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAChF,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;IAC7B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE;QAC7C,UAAU,EAAE,WAAW;QACvB,KAAK,EAAE,KAAK,IAAI,EAAE;KACrB,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC;SAC/D,CAAC;IACN,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACjC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACtC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO,GAAG,MAAM,GAAG,SAAS,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,GAAG,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,IAAI,cAAc,MAAM,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC;IACrJ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;QACH,OAAO,EAAE,CAAC;gBACN,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa,QAAQ,CAAC,MAAM,kBAAkB,SAAS,EAAE;aAClE,CAAC;KACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,wFAAwF;AACxF,MAAM,CAAC,IAAI,CACP,oBAAoB,EACpB,wHAAwH,EACxH,EAAE,EACF,KAAK,IAAI,EAAE;IACP,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAEhE,4CAA4C;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC;IAE1E,yBAAyB;IACzB,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;IAE3B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qCAAqC,EAAE,CAAC;SAC3E,CAAC;IACN,CAAC;IAED,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACpC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,OAAO,WAAW,SAAS,QAAQ,GAAG,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAO,IAAI,cAAc,iBAAiB,OAAO,YAAY,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACxJ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO;QACH,OAAO,EAAE,CAAC;gBACN,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,uBAAuB,SAAS,+CAA+C;aAChH,CAAC;KACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,qBAAqB;AACrB,MAAM,CAAC,IAAI,CACP,cAAc,EACd,+BAA+B,EAC/B;IACI,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;CACjE,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IACrB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAEnD,uBAAuB;IACvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC;IACnE,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,UAAU,EAAE,EAAE,CAAC;SAC1E,CAAC;IACN,CAAC;IAED,eAAe;IACf,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAErC,oBAAoB;IACpB,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAExB,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QACtF,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;oBACpC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,eAAe,EAAE,OAAO,CAAC,eAAe;iBAC3C,EAAE,OAAO,CAAC,CAAC;gBACZ,IAAI,SAAS,EAAE,CAAC;oBACZ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBACrC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;oBACpC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC;gBAC/B,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,IAAI,GAAG,qBAAqB,CAAC;YACjC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,+BAA+B,CAAC;QAC3C,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,IAAI,GAAG;WACV,OAAO,CAAC,MAAM;WACd,OAAO,CAAC,SAAS;WACjB,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE;WAClC,OAAO,GAAG,SAAS;;;EAG5B,IAAI;;;MAGA,OAAO,CAAC,EAAE,EAAE,CAAC;IAEX,OAAO;QACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KACpC,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,qBAAqB;AACrB,MAAM,CAAC,IAAI,CACP,cAAc,EACd,iCAAiC,EACjC;IACI,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CAC1F,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IAC5C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QACzB,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2EAA2E,EAAE,CAAC;SACjH,CAAC;IACN,CAAC;IAED,IAAI,cAAc,CAAC;IAEnB,IAAI,OAAO,EAAE,CAAC;QACV,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8CAA8C,EAAE,CAAC;aACpF,CAAC;QACN,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,6BAA6B,SAAS,yBAAyB,EAAE,CAAC;aACrG,CAAC;QACN,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;QAEjF,cAAc,GAAG;YACb,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,eAAe,EAAE,SAAS,CAAC,eAAe;SAC7C,CAAC;IACN,CAAC;IAED,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC5F,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,OAAO;YACH,OAAO,EAAE,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qBAAqB,SAAS,GAAG,OAAO,SAAS,OAAO,CAAC,EAAE,EAAE;iBACtE,CAAC;SACL,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,KAAK,EAAE,EAAE,CAAC;SAClE,CAAC;IACN,CAAC;AACL,CAAC,CACJ,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,IAAI,CACP,eAAe,EACf,oBAAoB,EACpB;IACI,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC5D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;CAChE,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IACpC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,wBAAwB;IACxB,IAAI,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC;IACpE,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,UAAU,EAAE,EAAE,CAAC;SAC1E,CAAC;IACN,CAAC;IAED,gCAAgC;IAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAC/C,CAAC,CAAC,QAAQ,CAAC,OAAO;QAClB,CAAC,CAAC,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;IAEhC,IAAI,cAAc,CAAC;IACnB,IAAI,OAAO,EAAE,CAAC;QACV,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE/D,IAAI,aAAa,IAAI,kBAAkB,EAAE,CAAC;YACtC,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;YACjF,cAAc,GAAG;gBACb,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,eAAe,EAAE,SAAS,CAAC,eAAe;aAC7C,CAAC;QACN,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACnG,MAAM,OAAO,GAAG,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnE,OAAO;QACH,OAAO,EAAE,CAAC;gBACN,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,mBAAmB,QAAQ,CAAC,MAAM,GAAG,OAAO,SAAS,OAAO,CAAC,EAAE,EAAE;aAC1E,CAAC;KACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,IAAI,CACP,eAAe,EACf,4CAA4C,EAC5C;IACI,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;CACvE,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAChB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACnD,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iCAAiC,OAAO,4BAA4B,MAAM,mCAAmC;qBACtH,CAAC;aACL,CAAC;QACN,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IACzC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAErD,OAAO;QACH,OAAO,EAAE,CAAC;gBACN,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,4BAA4B,OAAO,sDAAsD,SAAS,EAAE;aAC7G,CAAC;KACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,kBAAkB;AAClB,MAAM,CAAC,IAAI,CACP,WAAW,EACX,gCAAgC,EAChC,EAAE,EACF,KAAK,IAAI,EAAE;IACP,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;IAEzC,IAAI,MAAM,GAAG,yCAAyC,CAAC;IAEvD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,iDAAiD,CAAC;IAChE,CAAC;SAAM,CAAC;QACJ,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACvB,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,EAAE,CAAC;gBACL,MAAM,MAAM,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,KAAK,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;YACnF,CAAC;QACL,CAAC;IACL,CAAC;IAED,MAAM,IAAI,qBAAqB,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,4CAA4C,CAAC;IAC3D,CAAC;SAAM,CAAC;QACJ,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;QAChD,CAAC;IACL,CAAC;IAED,OAAO;QACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KAC5C,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,mBAAmB;AACnB,MAAM,CAAC,IAAI,CACP,YAAY,EACZ,2DAA2D,EAC3D;IACI,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAC3D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;CAC/D,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IAC/B,IAAI,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACzB,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wDAAwD,EAAE,CAAC;SAC9F,CAAC;IACN,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE1C,OAAO;QACH,OAAO,EAAE,CAAC;gBACN,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,6BAA6B,QAAQ,2DAA2D;aACzG,CAAC;KACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,wBAAwB;AACxB,MAAM,CAAC,IAAI,CACP,iBAAiB,EACjB,uCAAuC,EACvC;IACI,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;CAC3D,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IACrB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAEzD,IAAI,OAAO,EAAE,CAAC;QACV,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,UAAU,EAAE,EAAE,CAAC;SACzE,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,UAAU,EAAE,EAAE,CAAC;SAC1E,CAAC;IACN,CAAC;AACL,CAAC,CACJ,CAAC;AAEF,mBAAmB;AACnB,KAAK,UAAU,IAAI;IACf,qCAAqC;IACrC,iBAAiB,EAAE,CAAC;IAEpB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;AACpD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,17 @@
1
1
  {
2
2
  "name": "myceliumail-mcp",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "description": "MCP server for Myceliumail - End-to-End Encrypted Messaging for AI Agents",
5
5
  "type": "module",
6
6
  "main": "dist/server.js",
7
+ "bin": {
8
+ "myceliumail-mcp": "dist/server.js"
9
+ },
7
10
  "scripts": {
8
11
  "build": "tsc",
9
12
  "dev": "tsc --watch",
10
13
  "start": "node dist/server.js",
14
+ "postinstall": "node postinstall.js 2>/dev/null || true",
11
15
  "prepublishOnly": "npm run build"
12
16
  },
13
17
  "keywords": [
package/postinstall.js ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ console.log(`
3
+ \x1b[36m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m
4
+ \x1b[33m🍄 Thanks for installing Myceliumail MCP Server!\x1b[0m
5
+
6
+ We'd love your feedback on your experience!
7
+
8
+ \x1b[32m📧 Beta testing & collaborations:\x1b[0m treebird@treebird.dev
9
+ \x1b[32m☕ Support the project:\x1b[0m https://buymeacoffee.com/tree.bird
10
+
11
+ This is early-stage software built in public. Your feedback helps!
12
+ \x1b[36m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m
13
+ `);
package/src/server.ts CHANGED
@@ -16,6 +16,9 @@ import * as storage from './lib/storage.js';
16
16
  import { getAgentId } from './lib/config.js';
17
17
  import { requireProLicense } from './lib/license.js';
18
18
 
19
+ // Track last check time for new message notifications
20
+ let lastCheckTime: Date = new Date();
21
+
19
22
  // Create the MCP server
20
23
  const server = new McpServer({
21
24
  name: 'myceliumail',
@@ -58,6 +61,42 @@ server.tool(
58
61
  }
59
62
  );
60
63
 
64
+ // Tool: check_new_messages - Notification-style check for new messages since last check
65
+ server.tool(
66
+ 'check_new_messages',
67
+ 'Check for new messages since your last check (like notifications). Call this periodically to see if you have new mail.',
68
+ {},
69
+ async () => {
70
+ const agentId = getAgentId();
71
+ const messages = await storage.getInbox(agentId, { limit: 50 });
72
+
73
+ // Filter for messages newer than last check
74
+ const newMessages = messages.filter(msg => msg.createdAt > lastCheckTime);
75
+
76
+ // Update last check time
77
+ lastCheckTime = new Date();
78
+
79
+ if (newMessages.length === 0) {
80
+ return {
81
+ content: [{ type: 'text', text: '✅ No new messages since last check.' }],
82
+ };
83
+ }
84
+
85
+ const formatted = newMessages.map(msg => {
86
+ const encrypted = msg.encrypted ? '🔐 ' : '';
87
+ const preview = msg.body ? msg.body.substring(0, 50) + (msg.body.length > 50 ? '...' : '') : '';
88
+ return `📬 NEW: ${encrypted}From ${msg.sender}\n Subject: ${msg.subject || '(no subject)'}\n Preview: ${preview}\n ID: ${msg.id.slice(0, 8)}`;
89
+ }).join('\n\n');
90
+
91
+ return {
92
+ content: [{
93
+ type: 'text',
94
+ text: `🔔 ${newMessages.length} new message(s)!\n\n${formatted}\n\n💡 Use read_message to view full content.`
95
+ }],
96
+ };
97
+ }
98
+ );
99
+
61
100
  // Tool: read_message
62
101
  server.tool(
63
102
  'read_message',