slashvibe-mcp 0.3.23 → 0.3.25
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 +98 -138
- package/analytics.js +25 -1
- package/bridges/agent-gateway.js +351 -0
- package/bridges/bridge-monitor.js +399 -0
- package/bridges/discord-bot.js +421 -0
- package/bridges/farcaster.js +299 -0
- package/bridges/telegram.js +261 -0
- package/bridges/webhook-health.js +416 -0
- package/bridges/webhook-server.js +461 -0
- package/bridges/whatsapp.js +441 -0
- package/bridges/x-webhook.js +406 -0
- package/index.js +188 -62
- package/package.json +9 -5
- package/presence.js +37 -0
- package/scripts/install-editors.js +258 -0
- package/scripts/publish-registry.sh +58 -0
- package/scripts/sync-version.js +39 -0
- package/store/api.js +35 -14
- package/store/sessions.js +280 -0
- package/store/sqlite.js +6 -1
- package/tools/presence-data.js +102 -0
- package/tools/session-resume.js +186 -0
- package/tools/summarize.js +74 -106
- package/tools/who.js +45 -26
- package/version.json +8 -8
package/README.md
CHANGED
|
@@ -1,22 +1,37 @@
|
|
|
1
1
|
# /vibe MCP Server
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/slashvibe-mcp)
|
|
4
|
+
[](https://www.npmjs.com/package/slashvibe-mcp)
|
|
5
|
+
[](https://github.com/VibeCodingInc/vibe-mcp/actions/workflows/ci.yml)
|
|
4
6
|
[](./LICENSE)
|
|
5
7
|
[](https://nodejs.org)
|
|
6
|
-
[](https://modelcontextprotocol.io)
|
|
9
|
+
[](https://smithery.ai/server/slashvibe-mcp)
|
|
10
|
+
|
|
11
|
+
The presence layer for AI-mediated work. See who's building, message them, share context — without leaving your editor.
|
|
7
12
|
|
|
8
|
-
|
|
13
|
+
**New:** Live buddy list widget renders inline in Claude Desktop and VS Code via [MCP Apps](https://modelcontextprotocol.io/docs/extensions/apps).
|
|
9
14
|
|
|
10
15
|
Works with Claude Code, Cursor, VS Code, Windsurf, Cline, Continue.dev, JetBrains, and any MCP-compatible client.
|
|
11
16
|
|
|
12
17
|
## Install
|
|
13
18
|
|
|
14
|
-
|
|
19
|
+
**Quick install** — auto-detects your editors and configures all of them:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx slashvibe-mcp install
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Or** add to your MCP config manually and restart your editor:
|
|
15
26
|
|
|
16
27
|
<details open>
|
|
17
28
|
<summary><strong>Claude Code</strong></summary>
|
|
18
29
|
|
|
19
|
-
|
|
30
|
+
```bash
|
|
31
|
+
claude mcp add vibe -- npx -y slashvibe-mcp
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Or add to `~/.claude.json`:
|
|
20
35
|
```json
|
|
21
36
|
{
|
|
22
37
|
"mcpServers": {
|
|
@@ -27,11 +42,6 @@ Add to `~/.claude.json`:
|
|
|
27
42
|
}
|
|
28
43
|
}
|
|
29
44
|
```
|
|
30
|
-
|
|
31
|
-
Or via CLI:
|
|
32
|
-
```bash
|
|
33
|
-
claude mcp add vibe -- npx -y slashvibe-mcp
|
|
34
|
-
```
|
|
35
45
|
</details>
|
|
36
46
|
|
|
37
47
|
<details>
|
|
@@ -64,20 +74,6 @@ Add to `.vscode/mcp.json` in your workspace:
|
|
|
64
74
|
}
|
|
65
75
|
}
|
|
66
76
|
```
|
|
67
|
-
|
|
68
|
-
Or add to your `settings.json`:
|
|
69
|
-
```json
|
|
70
|
-
{
|
|
71
|
-
"mcp": {
|
|
72
|
-
"servers": {
|
|
73
|
-
"vibe": {
|
|
74
|
-
"command": "npx",
|
|
75
|
-
"args": ["-y", "slashvibe-mcp"]
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
```
|
|
81
77
|
</details>
|
|
82
78
|
|
|
83
79
|
<details>
|
|
@@ -97,71 +93,51 @@ Add to `~/.codeium/windsurf/mcp_config.json`:
|
|
|
97
93
|
</details>
|
|
98
94
|
|
|
99
95
|
<details>
|
|
100
|
-
<summary><strong>Cline
|
|
96
|
+
<summary><strong>Cline / Continue.dev / JetBrains</strong></summary>
|
|
101
97
|
|
|
102
|
-
|
|
103
|
-
```json
|
|
104
|
-
{
|
|
105
|
-
"mcpServers": {
|
|
106
|
-
"vibe": {
|
|
107
|
-
"command": "npx",
|
|
108
|
-
"args": ["-y", "slashvibe-mcp"]
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
```
|
|
113
|
-
</details>
|
|
114
|
-
|
|
115
|
-
<details>
|
|
116
|
-
<summary><strong>Continue.dev</strong></summary>
|
|
98
|
+
**Cline:** Open MCP Servers > Configure > Edit JSON, add `vibe` server as above.
|
|
117
99
|
|
|
118
|
-
Create `.continue/mcpServers/vibe.json`:
|
|
100
|
+
**Continue.dev:** Create `.continue/mcpServers/vibe.json`:
|
|
119
101
|
```json
|
|
120
102
|
{
|
|
121
103
|
"command": "npx",
|
|
122
104
|
"args": ["-y", "slashvibe-mcp"]
|
|
123
105
|
}
|
|
124
106
|
```
|
|
125
|
-
</details>
|
|
126
|
-
|
|
127
|
-
<details>
|
|
128
|
-
<summary><strong>JetBrains (IntelliJ, WebStorm, etc.)</strong></summary>
|
|
129
|
-
|
|
130
|
-
Go to **Settings > Tools > AI Assistant > Model Context Protocol (MCP)** and add a new server:
|
|
131
|
-
- **Command:** `npx`
|
|
132
|
-
- **Arguments:** `-y slashvibe-mcp`
|
|
133
107
|
|
|
134
|
-
|
|
108
|
+
**JetBrains:** Settings > Tools > AI Assistant > MCP, add server with command `npx` and args `-y slashvibe-mcp`.
|
|
135
109
|
</details>
|
|
136
110
|
|
|
137
111
|
## Getting Started
|
|
138
112
|
|
|
139
|
-
Once installed, tell
|
|
113
|
+
Once installed, tell your AI:
|
|
140
114
|
|
|
141
115
|
```
|
|
142
116
|
"let's vibe"
|
|
143
117
|
```
|
|
144
118
|
|
|
145
|
-
That's it.
|
|
119
|
+
That's it. It authenticates you via GitHub, shows who's online, and checks your inbox.
|
|
146
120
|
|
|
147
|
-
|
|
121
|
+
Step-by-step:
|
|
148
122
|
|
|
149
|
-
1. **Authenticate** — `vibe init` opens GitHub OAuth
|
|
123
|
+
1. **Authenticate** — `vibe init` opens GitHub OAuth. Takes 30 seconds.
|
|
150
124
|
2. **See who's around** — `vibe who` shows online builders and what they're working on.
|
|
151
125
|
3. **Check messages** — `vibe inbox` shows unread DMs.
|
|
152
|
-
4. **Send
|
|
126
|
+
4. **Send a message** — `vibe dm @seth hey, just set up /vibe!`
|
|
153
127
|
|
|
154
|
-
## Tools
|
|
128
|
+
## Tools
|
|
155
129
|
|
|
156
|
-
###
|
|
130
|
+
### Presence
|
|
157
131
|
|
|
158
132
|
| Tool | What it does |
|
|
159
133
|
|------|-------------|
|
|
160
|
-
| `
|
|
161
|
-
| `
|
|
162
|
-
| `
|
|
134
|
+
| `vibe_who` | See who's online and what they're building |
|
|
135
|
+
| `vibe_status` | Set your mood or what you're working on |
|
|
136
|
+
| `vibe_away` | Set yourself away with a message |
|
|
137
|
+
| `vibe_back` | Return from away |
|
|
138
|
+
| `vibe_presence_agent` | Background presence agent |
|
|
163
139
|
|
|
164
|
-
###
|
|
140
|
+
### Messaging
|
|
165
141
|
|
|
166
142
|
| Tool | What it does |
|
|
167
143
|
|------|-------------|
|
|
@@ -169,93 +145,60 @@ If you prefer step-by-step:
|
|
|
169
145
|
| `vibe_inbox` | Check your unread messages |
|
|
170
146
|
| `vibe_ping` | Send a quick wave to someone |
|
|
171
147
|
| `vibe_react` | React to a message |
|
|
172
|
-
| `vibe_open` | Open a conversation thread
|
|
148
|
+
| `vibe_open` | Open a conversation thread |
|
|
149
|
+
| `vibe_follow` | Follow someone for notifications |
|
|
150
|
+
| `vibe_unfollow` | Unfollow someone |
|
|
173
151
|
|
|
174
|
-
###
|
|
175
|
-
|
|
176
|
-
| Tool | What it does |
|
|
177
|
-
|------|-------------|
|
|
178
|
-
| `vibe_who` | See who's online and what they're building |
|
|
179
|
-
| `vibe_status` | Set your mood or what you're working on |
|
|
180
|
-
| `vibe_away` | Set yourself away |
|
|
181
|
-
| `vibe_back` | Return from away |
|
|
182
|
-
|
|
183
|
-
### Creative — Ship & Share
|
|
152
|
+
### Sessions & Context
|
|
184
153
|
|
|
185
154
|
| Tool | What it does |
|
|
186
155
|
|------|-------------|
|
|
187
|
-
| `
|
|
188
|
-
| `
|
|
189
|
-
| `vibe_session_fork` | Fork an existing session to build on it |
|
|
190
|
-
| `vibe_feed` | See what people are shipping and sharing |
|
|
156
|
+
| `vibe_start` | Entry point — authenticates, shows presence, checks inbox |
|
|
157
|
+
| `vibe_bye` | End your session |
|
|
191
158
|
| `vibe_context` | Share what you're working on |
|
|
159
|
+
| `vibe_summarize` | Generate session summary from local journal |
|
|
160
|
+
| `vibe_session_resume` | Resume context from a prior session |
|
|
161
|
+
| `vibe_session_save` | Save your session — replayable, discoverable, forkable |
|
|
162
|
+
| `vibe_session_fork` | Fork an existing session to build on it |
|
|
163
|
+
| `vibe_handoff` | Hand off a task with full context |
|
|
192
164
|
|
|
193
|
-
### Discovery
|
|
165
|
+
### Discovery & Memory
|
|
194
166
|
|
|
195
167
|
| Tool | What it does |
|
|
196
168
|
|------|-------------|
|
|
197
|
-
| `vibe_discover` | Find people, skills, and
|
|
169
|
+
| `vibe_discover` | Find people, skills, and collaborators |
|
|
198
170
|
| `vibe_invite` | Generate an invite link |
|
|
199
|
-
|
|
200
|
-
### Memory
|
|
201
|
-
|
|
202
|
-
| Tool | What it does |
|
|
203
|
-
|------|-------------|
|
|
204
|
-
| `vibe_remember` | Save a note about someone for next time |
|
|
171
|
+
| `vibe_remember` | Save a note about someone |
|
|
205
172
|
| `vibe_recall` | Pull up everything you know about someone |
|
|
206
173
|
| `vibe_forget` | Delete a memory |
|
|
207
174
|
|
|
208
|
-
###
|
|
175
|
+
### Collaboration
|
|
209
176
|
|
|
210
177
|
| Tool | What it does |
|
|
211
178
|
|------|-------------|
|
|
212
|
-
| `
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
| Tool | What it does |
|
|
217
|
-
|------|-------------|
|
|
218
|
-
| `vibe_create_artifact` | Create a shareable guide, workspace, or learning |
|
|
219
|
-
| `vibe_view_artifact` | View shared artifacts |
|
|
220
|
-
|
|
221
|
-
### File Coordination
|
|
222
|
-
|
|
223
|
-
| Tool | What it does |
|
|
224
|
-
|------|-------------|
|
|
225
|
-
| `vibe_reserve` | Reserve files for editing |
|
|
179
|
+
| `vibe_ship` | Share what you shipped, an idea, or a request |
|
|
180
|
+
| `vibe_feed` | See what people are shipping |
|
|
181
|
+
| `vibe_reserve` | Reserve files for editing (prevents conflicts) |
|
|
226
182
|
| `vibe_release` | Release file reservations |
|
|
227
|
-
| `vibe_reservations` | List active
|
|
183
|
+
| `vibe_reservations` | List active reservations |
|
|
184
|
+
| `vibe_create_artifact` | Create a shareable guide or workspace |
|
|
185
|
+
| `vibe_view_artifact` | View shared artifacts |
|
|
228
186
|
|
|
229
187
|
### Infrastructure
|
|
230
188
|
|
|
231
189
|
| Tool | What it does |
|
|
232
190
|
|------|-------------|
|
|
233
|
-
| `
|
|
234
|
-
| `vibe_report` | Report issues or inappropriate behavior |
|
|
235
|
-
| `vibe_suggest_tags` | Get tag suggestions for your profile |
|
|
236
|
-
|
|
237
|
-
### Diagnostics
|
|
238
|
-
|
|
239
|
-
| Tool | What it does |
|
|
240
|
-
|------|-------------|
|
|
191
|
+
| `vibe_init` | Set up identity via GitHub OAuth |
|
|
241
192
|
| `vibe_help` | Show available commands |
|
|
242
|
-
| `vibe_doctor` |
|
|
193
|
+
| `vibe_doctor` | Health check — API, auth, storage, presence |
|
|
243
194
|
| `vibe_update` | Check for and apply updates |
|
|
244
|
-
|
|
245
|
-
### Settings
|
|
246
|
-
|
|
247
|
-
| Tool | What it does |
|
|
248
|
-
|------|-------------|
|
|
249
195
|
| `vibe_settings` | Configure preferences |
|
|
250
196
|
| `vibe_notifications` | Configure notification channels |
|
|
251
|
-
| `vibe_presence_agent` | Background presence agent |
|
|
252
197
|
| `vibe_mute` | Mute a user |
|
|
253
|
-
| `
|
|
198
|
+
| `vibe_report` | Report issues or inappropriate behavior |
|
|
254
199
|
|
|
255
200
|
## How It Works
|
|
256
201
|
|
|
257
|
-
/vibe is an MCP server that connects your editor to [slashvibe.dev](https://slashvibe.dev). Messages sync via a Postgres backend with local SQLite persistence for offline-first speed. Everyone using /vibe is on the same network — regardless of which editor they use.
|
|
258
|
-
|
|
259
202
|
```
|
|
260
203
|
Your Editor ←→ /vibe MCP (stdio) ←→ slashvibe.dev API ←→ Other users
|
|
261
204
|
↕
|
|
@@ -263,43 +206,60 @@ Your Editor ←→ /vibe MCP (stdio) ←→ slashvibe.dev API ←→ Other users
|
|
|
263
206
|
(~/.vibecodings/sessions.db)
|
|
264
207
|
```
|
|
265
208
|
|
|
266
|
-
- **Identity** persists via GitHub OAuth — your handle follows you across sessions
|
|
267
|
-
- **Messages** are stored locally first, then synced to the server (optimistic send)
|
|
268
209
|
- **Presence** broadcasts via heartbeat — others see you in real time
|
|
269
|
-
- **
|
|
210
|
+
- **Messages** are stored locally first, then synced (optimistic send)
|
|
211
|
+
- **Sessions** are journaled to SQLite — durable, resumable, summarizable
|
|
212
|
+
- **Identity** persists via GitHub OAuth — your handle follows you across editors and machines
|
|
213
|
+
- **Memory** is local — notes about people stay on your machine
|
|
270
214
|
|
|
271
215
|
## Troubleshooting
|
|
272
216
|
|
|
273
|
-
**"I installed but don't see /vibe tools
|
|
274
|
-
-
|
|
275
|
-
-
|
|
276
|
-
- Run `vibe doctor` to diagnose issues
|
|
217
|
+
**"I installed but don't see /vibe tools"**
|
|
218
|
+
- Restart your editor after adding the MCP config
|
|
219
|
+
- Run `vibe doctor` to diagnose
|
|
277
220
|
|
|
278
221
|
**"Authentication failed or timed out"**
|
|
279
|
-
-
|
|
280
|
-
- The
|
|
281
|
-
- You have 2 minutes to complete the GitHub login
|
|
222
|
+
- OAuth opens a browser window — if it didn't, go to [slashvibe.dev/login](https://slashvibe.dev/login)
|
|
223
|
+
- The callback runs on `localhost:9876` — make sure that port is free
|
|
282
224
|
|
|
283
225
|
**"Messages aren't sending"**
|
|
284
226
|
- Run `vibe doctor` to check API connectivity
|
|
285
|
-
-
|
|
286
|
-
- Messages are saved locally even if the API is down — they'll sync when you reconnect
|
|
287
|
-
|
|
288
|
-
**"I see 'Unknown tool' errors"**
|
|
289
|
-
- You may be running an older version. Run `vibe update` or reinstall: `npm install -g slashvibe-mcp`
|
|
227
|
+
- Messages save locally even when offline — they sync on reconnect
|
|
290
228
|
|
|
291
229
|
## Configuration
|
|
292
230
|
|
|
293
|
-
Config
|
|
231
|
+
Config: `~/.vibecodings/config.json` (primary) or `~/.vibe/config.json` (legacy fallback).
|
|
232
|
+
|
|
233
|
+
Database: `~/.vibecodings/sessions.db` (SQLite, WAL mode).
|
|
234
|
+
|
|
235
|
+
## Development
|
|
294
236
|
|
|
295
|
-
|
|
237
|
+
```bash
|
|
238
|
+
npm install
|
|
239
|
+
npm test # All tests
|
|
240
|
+
npm run lint # ESLint
|
|
241
|
+
npm run typecheck # TypeScript validation
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
vibe-mcp/
|
|
246
|
+
├── index.js # MCP server entry + CLI
|
|
247
|
+
├── config.js # User identity
|
|
248
|
+
├── presence.js # Heartbeat loop (30s)
|
|
249
|
+
├── analytics.js # Anonymous usage tracking
|
|
250
|
+
├── tools/ # MCP tools
|
|
251
|
+
├── store/ # Persistence (api.js, sqlite.js, sessions.js)
|
|
252
|
+
├── bridges/ # Platform integrations (Discord, Telegram, etc.)
|
|
253
|
+
├── intelligence/ # Ambient signals (serendipity, proactive discovery)
|
|
254
|
+
└── protocol/ # AIRC protocol
|
|
255
|
+
```
|
|
296
256
|
|
|
297
257
|
## Contributing
|
|
298
258
|
|
|
299
|
-
We welcome contributions.
|
|
259
|
+
We welcome contributions. See [CLA.md](./CLA.md) before submitting pull requests.
|
|
300
260
|
|
|
301
|
-
-
|
|
302
|
-
-
|
|
261
|
+
- [GitHub Issues](https://github.com/VibeCodingInc/vibe-mcp/issues) — Bug reports
|
|
262
|
+
- [Discussions](https://github.com/VibeCodingInc/vibe-mcp/discussions) — Feature proposals
|
|
303
263
|
|
|
304
264
|
## License
|
|
305
265
|
|
|
@@ -307,7 +267,7 @@ MIT — see [LICENSE](./LICENSE)
|
|
|
307
267
|
|
|
308
268
|
## Links
|
|
309
269
|
|
|
310
|
-
- [slashvibe.dev](https://slashvibe.dev) —
|
|
270
|
+
- [slashvibe.dev](https://slashvibe.dev) — Platform
|
|
311
271
|
- [Vibe Terminal](https://github.com/VibeCodingInc/vibe-terminal) — Desktop app
|
|
312
272
|
- [@slashvibe on X](https://twitter.com/slashvibe) — Updates
|
|
313
273
|
|
package/analytics.js
CHANGED
|
@@ -97,11 +97,35 @@ function trackSession(event, sessionData = {}) {
|
|
|
97
97
|
track(event === 'started' ? 'session_started' : 'session_ended', sessionData);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
+
/**
|
|
101
|
+
* Track editor install via universal installer
|
|
102
|
+
* @param {string} editor - Editor name configured
|
|
103
|
+
* @param {string} status - 'configured', 'exists', 'error'
|
|
104
|
+
*/
|
|
105
|
+
function trackInstall(editor, status) {
|
|
106
|
+
track('editor_install', {
|
|
107
|
+
editor,
|
|
108
|
+
status,
|
|
109
|
+
platform: process.platform,
|
|
110
|
+
node: process.version
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Track tool usage distribution (called per tool invocation)
|
|
116
|
+
* @param {string} toolName - Tool name (vibe_*)
|
|
117
|
+
*/
|
|
118
|
+
function trackToolUsage(toolName) {
|
|
119
|
+
track('tool_call', { tool: toolName });
|
|
120
|
+
}
|
|
121
|
+
|
|
100
122
|
module.exports = {
|
|
101
123
|
track,
|
|
102
124
|
trackEmptyInbox,
|
|
103
125
|
trackLurkMode,
|
|
104
126
|
trackOnboardingTask,
|
|
105
127
|
trackDiscovery,
|
|
106
|
-
trackSession
|
|
128
|
+
trackSession,
|
|
129
|
+
trackInstall,
|
|
130
|
+
trackToolUsage
|
|
107
131
|
};
|