@promptprojectmanager/mcp-server 4.2.0 → 4.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 CHANGED
@@ -4,36 +4,31 @@ MCP server that exposes Prompt Project Manager prompts and tickets through dual
4
4
 
5
5
  ## Overview
6
6
 
7
- `@promptprojectmanager/mcp-server` is a standalone npm package that integrates your Prompt Project Manager workspace with Claude Code, Codex CLI, and Gemini CLI via the Model Context Protocol (MCP).
7
+ `@promptprojectmanager/mcp-server` is a standalone npm package that integrates your Prompt Project Manager project with Claude Code, Codex CLI, and Gemini CLI via the Model Context Protocol (MCP).
8
8
 
9
- ### Two Authentication Modes
9
+ ### Authentication
10
10
 
11
- | Mode | Env Variable | Scope | Use Case |
12
- |------|--------------|-------|----------|
13
- | **API Key** | `PPM_API_KEY` | Full account access | Multi-project workflows, all prompts |
14
- | **Project Token** | `PPM_PROJECT_TOKEN` | Single project, tickets only | CI/CD, agents, scoped access |
11
+ | Mode | Env Variable | Scope |
12
+ |------|--------------|-------|
13
+ | **Project Token** | `PPM_PROJECT_TOKEN` | Single project (prompts + tickets) |
14
+
15
+ Project tokens provide scoped access to a single project, including all prompts (via the token owner's account) and ticket management.
15
16
 
16
17
  ### Two Interfaces
17
18
 
18
- 1. **Prompts Interface** (Slash Commands) - Explicitly invoke prompts via `/ppm:project:prompt` commands
19
+ 1. **Prompts Interface** (Slash Commands) - Explicitly invoke prompts via `/ppm:prompt_slug` commands
19
20
  2. **Tools Interface** (AI Discovery) - AI assistants can discover and invoke prompts/tickets naturally
20
21
 
21
22
  ## Features
22
23
 
23
- - **Dual Authentication** - API keys for full access, project tokens for scoped access
24
- - **Project Filtering** - Use `--projects` flag to limit scope (API key mode only)
24
+ - **Project-Scoped Access** - Each token is scoped to one project for security
25
+ - **Full Prompt Access** - Access all prompts from the token owner's account
25
26
  - **Ticket Management** - Create, update, close tickets via MCP tools
26
- - **Agent Identity** - Use `PPM_AGENT` to identify which agent is making requests
27
- - **Selective Exposure** - Only prompts with "Expose to MCP" enabled appear
27
+ - **Agent Identity** - Token name appears in activity logs
28
28
  - **Zero Configuration** - Works out of the box with `npx`
29
- - **Flexible Caching** - Choose between cached (fast) or lazy loading (always fresh) modes
30
29
 
31
30
  ## Quick Start
32
31
 
33
- ### Option 1: Project Token (Recommended for Agents)
34
-
35
- Project tokens are scoped to a single project and provide ticket access. **No `--projects` flag needed** - the token already knows which project it belongs to.
36
-
37
32
  ```json
38
33
  {
39
34
  "mcpServers": {
@@ -48,131 +43,44 @@ Project tokens are scoped to a single project and provide ticket access. **No `-
48
43
  }
49
44
  ```
50
45
 
51
- Get your project token from: Project → Agents → Create/View Agent
52
-
53
- ### Option 2: API Key (Full Account Access)
54
-
55
- API keys provide access to all projects and prompts. Use `--projects` to filter.
56
-
57
- ```json
58
- {
59
- "mcpServers": {
60
- "ppm": {
61
- "command": "npx",
62
- "args": ["@promptprojectmanager/mcp-server@latest", "--projects", "my-project"],
63
- "env": {
64
- "PPM_API_KEY": "api_key_your_key_here"
65
- }
66
- }
67
- }
68
- }
69
- ```
70
-
71
- Get your API key from: Settings → API Keys
72
-
73
- ## Authentication
74
-
75
- ### Project Token Mode (`PPM_PROJECT_TOKEN`)
76
-
77
- Best for: CI/CD pipelines, automated agents, scoped access
78
-
79
- - **Scope**: Single project (determined by token)
80
- - **Access**: Tickets only (prompts not available)
81
- - **Flag**: `--projects` is **ignored** (token already scoped)
82
-
83
- ```bash
84
- # Token is already scoped - no --projects needed
85
- PPM_PROJECT_TOKEN=wst_xxx npx @promptprojectmanager/mcp-server@latest
86
- ```
87
-
88
- ### API Key Mode (`PPM_API_KEY`)
89
-
90
- Best for: Development, multi-project workflows, full prompt access
91
-
92
- - **Scope**: All projects in your account
93
- - **Access**: Prompts + Tickets
94
- - **Flag**: Use `--projects` to filter
95
-
96
- ```bash
97
- # Access all projects
98
- PPM_API_KEY=api_key_xxx npx @promptprojectmanager/mcp-server@latest
99
-
100
- # Filter to specific projects
101
- PPM_API_KEY=api_key_xxx npx @promptprojectmanager/mcp-server@latest --projects myproject
102
-
103
- # Multiple projects
104
- PPM_API_KEY=api_key_xxx npx @promptprojectmanager/mcp-server@latest --projects proj1,proj2
105
- ```
106
-
107
- ### Agent Identity (`PPM_AGENT`)
108
-
109
- When using API key auth, you can specify which agent identity to use for ticket operations:
110
-
111
- ```bash
112
- PPM_API_KEY=api_key_xxx PPM_AGENT=my-agent npx @promptprojectmanager/mcp-server@latest
113
- ```
114
-
115
- This identifies the agent in ticket history and audit logs.
46
+ Get your project token from: **Project → Agents → Create/View Agent**
116
47
 
117
48
  ## CLI Arguments
118
49
 
119
- | Argument | Description | API Key | Project Token |
120
- |----------|-------------|---------|---------------|
121
- | `--projects`, `-p` | Filter to specific project(s) | ✅ Supported | ❌ Ignored (token scoped) |
122
- | `--lazy-loading` | Fetch fresh prompts on each call | ✅ Supported | ✅ Supported |
123
- | `--dev` | Use development Convex deployment | ✅ Supported | ✅ Supported |
124
-
125
- ### Project Filtering Examples
126
-
127
- ```bash
128
- # Single project
129
- --projects myproject
130
-
131
- # Multiple projects (comma-separated)
132
- --projects proj1,proj2,proj3
133
-
134
- # Multiple --projects flags
135
- --projects proj1 --projects proj2
136
-
137
- # Short flag
138
- -p myproject
139
- ```
50
+ | Argument | Description |
51
+ |----------|-------------|
52
+ | `--dev` | Use development Convex deployment |
140
53
 
141
54
  ## Available Tools
142
55
 
143
- ### Prompt Tools (API Key Mode Only)
144
-
145
- Each prompt with "Expose to MCP" enabled appears as a tool:
56
+ ### Prompt Tools
146
57
 
147
- - `project_prompt_slug` - Invoke a specific prompt
148
- - `list_prompts` - List all available prompts
149
-
150
- ### Ticket Tools (Both Modes)
151
-
152
- Each project gets ticket management tools:
58
+ Each prompt appears as a global tool:
153
59
 
154
60
  | Tool | Description |
155
61
  |------|-------------|
156
- | `project_tickets_work` | Get next ticket or open specific ticket |
157
- | `project_tickets_close` | Mark a ticket as completed |
158
- | `project_tickets_update` | Append content to a ticket |
159
- | `project_tickets_create` | Create a new ticket |
160
- | `project_tickets_list` | List active tickets |
161
- | `project_tickets_get` | Get a specific ticket |
162
- | `project_tickets_search` | Search tickets by content |
62
+ | `{prompt_slug}` | Execute a specific prompt directly (e.g., `code_review`) |
63
+ | `system_prompts` | List all available prompts |
64
+ | `system_run_prompt` | Execute a prompt by slug (for dynamic invocation) |
65
+
66
+ ### Ticket Tools
163
67
 
164
- ### System Tools
68
+ Each project gets ticket management tools:
165
69
 
166
70
  | Tool | Description |
167
71
  |------|-------------|
168
- | `system_prompts` | List all available prompts |
169
- | `system_run_prompt` | Execute a prompt by slug |
72
+ | `{project}_tickets_work` | Get next ticket or open specific ticket |
73
+ | `{project}_tickets_close` | Mark a ticket as completed |
74
+ | `{project}_tickets_update` | Append content to a ticket |
75
+ | `{project}_tickets_create` | Create a new ticket |
76
+ | `{project}_tickets_list` | List active tickets |
77
+ | `{project}_tickets_get` | Get a specific ticket |
78
+ | `{project}_tickets_search` | Search tickets by content |
170
79
 
171
80
  ## Configuration Examples
172
81
 
173
82
  ### Claude Code (JSON)
174
83
 
175
- **With Project Token:**
176
84
  ```json
177
85
  {
178
86
  "mcpServers": {
@@ -187,37 +95,6 @@ Each project gets ticket management tools:
187
95
  }
188
96
  ```
189
97
 
190
- **With API Key + Project Filter:**
191
- ```json
192
- {
193
- "mcpServers": {
194
- "ppm": {
195
- "command": "npx",
196
- "args": ["@promptprojectmanager/mcp-server@latest", "--projects", "my-project"],
197
- "env": {
198
- "PPM_API_KEY": "api_key_xxx"
199
- }
200
- }
201
- }
202
- }
203
- ```
204
-
205
- **With API Key + Agent Identity:**
206
- ```json
207
- {
208
- "mcpServers": {
209
- "ppm": {
210
- "command": "npx",
211
- "args": ["@promptprojectmanager/mcp-server@latest", "--projects", "my-project"],
212
- "env": {
213
- "PPM_API_KEY": "api_key_xxx",
214
- "PPM_AGENT": "claude-code-agent"
215
- }
216
- }
217
- }
218
- }
219
- ```
220
-
221
98
  ### Codex CLI (TOML)
222
99
 
223
100
  ```toml
@@ -233,80 +110,47 @@ PPM_PROJECT_TOKEN = "wst_your_token"
233
110
 
234
111
  Same format as Claude Code.
235
112
 
236
- ## Caching Modes
237
-
238
- ### Cached Mode (Default)
239
-
240
- - Prompts fetched **once** at startup
241
- - Fast execution, minimal network
242
- - Restart required after editing prompts
243
-
244
- ### Lazy Loading Mode
245
-
246
- Add `--lazy-loading` to args:
247
-
248
- ```json
249
- "args": ["@promptprojectmanager/mcp-server@latest", "--lazy-loading"]
250
- ```
251
-
252
- - Prompts fetched **fresh on each invocation**
253
- - Changes appear immediately
254
- - ~50-100ms overhead per call
255
-
256
113
  ## Environment Variables
257
114
 
258
115
  | Variable | Required | Description |
259
116
  |----------|----------|-------------|
260
- | `PPM_API_KEY` | One of these | Full account access (prompts + tickets) |
261
- | `PPM_PROJECT_TOKEN` | required | Scoped project access (tickets only) |
262
- | `PPM_AGENT` | No | Agent identity for ticket operations (API key mode) |
263
- | `THEPROMPTEDITOR_API_KEY` | No | Legacy alias for `PPM_API_KEY` |
117
+ | `PPM_PROJECT_TOKEN` | Yes | Project token (wst_* prefix) for authentication |
264
118
 
265
119
  ## Troubleshooting
266
120
 
267
121
  ### No Tools Available
268
122
 
269
- 1. Verify authentication: `PPM_API_KEY` or `PPM_PROJECT_TOKEN` is set
270
- 2. For prompts: Ensure "Expose to MCP" is enabled
123
+ 1. Verify `PPM_PROJECT_TOKEN` is set correctly
124
+ 2. Check token is not revoked in project settings
271
125
  3. Restart your CLI tool to refresh tools
272
126
 
273
- ### Wrong Project Scope
274
-
275
- - **Project token**: Token is pre-scoped, `--projects` is ignored
276
- - **API key**: Use `--projects` flag to filter
277
-
278
127
  ### Stale Content
279
128
 
280
- 1. Enable `--lazy-loading` for immediate updates
281
- 2. Or restart CLI tool to refresh cache
129
+ Restart CLI tool to refresh — prompts are fetched fresh on startup.
282
130
 
283
131
  ## Version History
284
132
 
285
- ### 4.1.0 (2025-01-15) - Documentation Update
133
+ ### 4.2.1 (2026-01-15) - Project Token Only
286
134
 
287
- **Documentation:**
288
- - Added comprehensive documentation for project token authentication
289
- - Documented `--projects` flag behavior (ignored for project tokens)
290
- - Added ticket tools reference
291
- - Added `PPM_AGENT` environment variable documentation
292
- - Updated examples for both auth modes
135
+ **Breaking Change:**
136
+ - Removed API key authentication (`PPM_API_KEY`)
137
+ - All authentication now uses project tokens (`PPM_PROJECT_TOKEN`)
138
+ - Removed `--projects` flag (token is already project-scoped)
139
+ - Removed `PPM_AGENT` (token provides identity directly)
293
140
 
294
- **No Code Changes** - Server already handled both auth modes correctly.
141
+ **Migration:**
142
+ - Replace `PPM_API_KEY` with `PPM_PROJECT_TOKEN`
143
+ - Get project token from Project → Agents section
144
+ - Remove `--projects` flag from args (no longer needed)
295
145
 
296
- ### 4.0.3 (2025-01-08) - Prompt Folders
146
+ ### 4.1.0 - Documentation Update
297
147
 
298
- - Added prompt folder support for organization
148
+ - Added comprehensive documentation for project token authentication
299
149
 
300
- ### 4.0.0 (2024-12-XX) - Project Tokens & Tickets
150
+ ### 4.0.0 - Project Tokens & Tickets
301
151
 
302
152
  - Added `PPM_PROJECT_TOKEN` authentication mode
303
153
  - Added ticket management tools per project
304
- - Added `--projects` flag for API key filtering
305
- - Added `PPM_AGENT` for agent identity
306
-
307
- ### 3.x - Earlier Versions
308
-
309
- See git history for earlier changelog.
310
154
 
311
155
  ## Support
312
156