@vailent/pulse-mcp 1.0.0 → 1.1.0
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 +113 -0
- package/dist/server.js +4 -5
- package/package.json +4 -3
package/README.md
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# @vailent/pulse-mcp
|
|
2
|
+
|
|
3
|
+
Pulse MCP server for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). Manage pods, features, workstreams, bugs, and more — all from your terminal.
|
|
4
|
+
|
|
5
|
+
## Quick Setup (2 minutes)
|
|
6
|
+
|
|
7
|
+
### 1. Create an npm account (skip if you have one)
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm adduser
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Follow the prompts to create your account at [npmjs.com](https://www.npmjs.com/signup).
|
|
14
|
+
|
|
15
|
+
### 2. Get added to the Vailent npm org
|
|
16
|
+
|
|
17
|
+
Ask Sal to invite you using your npm username. You'll get an email — accept the invite.
|
|
18
|
+
|
|
19
|
+
### 3. Log in to the Vailent scope
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm login --scope=@vailent
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### 4. Add to Claude Code
|
|
26
|
+
|
|
27
|
+
Run this once from any directory:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
claude mcp add pulse-dev -- npx -y @vailent/pulse-mcp
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 5. Verify it works
|
|
34
|
+
|
|
35
|
+
Open Claude Code and ask:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
what pods exist?
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
You should see a list of active pods. That's it — you're connected.
|
|
42
|
+
|
|
43
|
+
## What You Can Do
|
|
44
|
+
|
|
45
|
+
Talk to Claude naturally — the MCP tools handle the rest.
|
|
46
|
+
|
|
47
|
+
| Ask Claude... | What happens |
|
|
48
|
+
|---|---|
|
|
49
|
+
| "What pods exist?" | Lists all active pods with members |
|
|
50
|
+
| "Show me features for this week" | Lists features by pod and week |
|
|
51
|
+
| "Create a feature called Auth Revamp in pod X" | Creates a new feature |
|
|
52
|
+
| "What bugs are open?" | Lists open bugs with priority |
|
|
53
|
+
| "Show me pending suggestions" | Lists AI suggestions needing review |
|
|
54
|
+
| "Give me my daily briefing" | AI-generated focus items for today |
|
|
55
|
+
| "What happened this week?" | Searches activity history |
|
|
56
|
+
| "Show the team roster" | Lists team members and pod assignments |
|
|
57
|
+
| "What feature requests came in?" | Lists feature requests by source |
|
|
58
|
+
|
|
59
|
+
### All 11 Tools
|
|
60
|
+
|
|
61
|
+
| Tool | Description |
|
|
62
|
+
|---|---|
|
|
63
|
+
| `pulse_pods` | List, get, create, update pods |
|
|
64
|
+
| `pulse_pod_members` | Manage pod membership (add, remove, update roles) |
|
|
65
|
+
| `pulse_features` | List, get, create, update features with phase/step tracking |
|
|
66
|
+
| `pulse_workstreams` | Manage workstreams (projects) |
|
|
67
|
+
| `pulse_requests` | View and manage feature requests |
|
|
68
|
+
| `pulse_bugs` | View and manage bug reports |
|
|
69
|
+
| `pulse_suggestions` | Review, approve, reject AI suggestions |
|
|
70
|
+
| `pulse_events` | Query the activity event stream |
|
|
71
|
+
| `pulse_history` | Search across all historical data |
|
|
72
|
+
| `pulse_briefing` | Generate AI daily briefing by role |
|
|
73
|
+
| `pulse_team` | View team members and assignments |
|
|
74
|
+
|
|
75
|
+
## Troubleshooting
|
|
76
|
+
|
|
77
|
+
### "Tool not found" or MCP not connecting
|
|
78
|
+
|
|
79
|
+
Make sure the server is registered:
|
|
80
|
+
```bash
|
|
81
|
+
claude mcp list
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
You should see `pulse-dev` in the list. If not, re-run step 4.
|
|
85
|
+
|
|
86
|
+
### "Missing Supabase credentials" error
|
|
87
|
+
|
|
88
|
+
This shouldn't happen — the dev database is preconfigured. If it does, set these env vars:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
export PULSE_SUPABASE_URL=https://eppugcfjlqovlauykzfe.supabase.co
|
|
92
|
+
export PULSE_SUPABASE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImVwcHVnY2ZqbHFvdmxhdXlremZlIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzQwNTg2NTYsImV4cCI6MjA4OTYzNDY1Nn0.x9u7sSKnSlTFRWCu--D8zt81IuOmoXXHG3fb3kcRvBc
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Need to update to the latest version
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
npx -y @vailent/pulse-mcp@latest
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Or clear the npx cache:
|
|
102
|
+
```bash
|
|
103
|
+
npx clear-npx-cache && claude mcp remove pulse-dev && claude mcp add pulse-dev -- npx -y @vailent/pulse-mcp
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Advanced: Custom Supabase Instance
|
|
107
|
+
|
|
108
|
+
To point at a different Supabase project, set these env vars before running Claude Code:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
export PULSE_SUPABASE_URL=https://your-project.supabase.co
|
|
112
|
+
export PULSE_SUPABASE_KEY=your-anon-key
|
|
113
|
+
```
|
package/dist/server.js
CHANGED
|
@@ -40386,12 +40386,11 @@ function shouldShowDeprecationWarning() {
|
|
|
40386
40386
|
if (shouldShowDeprecationWarning()) console.warn("\u26A0\uFE0F Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");
|
|
40387
40387
|
|
|
40388
40388
|
// lib/supabase.ts
|
|
40389
|
+
var DEFAULT_URL = "https://eppugcfjlqovlauykzfe.supabase.co";
|
|
40390
|
+
var DEFAULT_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImVwcHVnY2ZqbHFvdmxhdXlremZlIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzQwNTg2NTYsImV4cCI6MjA4OTYzNDY1Nn0.x9u7sSKnSlTFRWCu--D8zt81IuOmoXXHG3fb3kcRvBc";
|
|
40389
40391
|
function getAdminClient() {
|
|
40390
|
-
const url2 = process.env.PULSE_SUPABASE_URL || process.env.NEXT_PUBLIC_SUPABASE_URL;
|
|
40391
|
-
const key = process.env.PULSE_SUPABASE_KEY || process.env.SUPABASE_SERVICE_ROLE_KEY;
|
|
40392
|
-
if (!url2 || !key) {
|
|
40393
|
-
throw new Error("Missing Supabase credentials. Set PULSE_SUPABASE_URL + PULSE_SUPABASE_KEY (or NEXT_PUBLIC_SUPABASE_URL + SUPABASE_SERVICE_ROLE_KEY)");
|
|
40394
|
-
}
|
|
40392
|
+
const url2 = process.env.PULSE_SUPABASE_URL || process.env.NEXT_PUBLIC_SUPABASE_URL || DEFAULT_URL;
|
|
40393
|
+
const key = process.env.PULSE_SUPABASE_KEY || process.env.SUPABASE_SERVICE_ROLE_KEY || DEFAULT_KEY;
|
|
40395
40394
|
return createClient(url2, key);
|
|
40396
40395
|
}
|
|
40397
40396
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vailent/pulse-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Pulse MCP server — manage pods, features, workstreams, bugs, and more from Claude Code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -23,13 +23,14 @@
|
|
|
23
23
|
"typescript": "^5"
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
|
-
"dist"
|
|
26
|
+
"dist",
|
|
27
|
+
"README.md"
|
|
27
28
|
],
|
|
28
29
|
"keywords": ["mcp", "pulse", "project-management", "claude-code"],
|
|
29
30
|
"license": "UNLICENSED",
|
|
30
31
|
"repository": {
|
|
31
32
|
"type": "git",
|
|
32
|
-
"url": "https://github.com/
|
|
33
|
+
"url": "https://github.com/vailent-technology/pulse.git",
|
|
33
34
|
"directory": "src/mcp"
|
|
34
35
|
}
|
|
35
36
|
}
|