wolfpack-mcp 1.0.36 → 1.0.37

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
@@ -5,36 +5,36 @@
5
5
  Connect your AI assistant to Wolfpack to manage work items, track issues, update documentation, and log progress—all
6
6
  through natural conversation.
7
7
 
8
- ## Installation
8
+ ## Quick Start
9
9
 
10
- ```bash
11
- npm install -g wolfpack-mcp
12
- ```
10
+ There are two ways to connect:
13
11
 
14
- Or use directly with npx (no installation required):
12
+ - **Claude Desktop** — Use the remote MCP server with OAuth (no API key needed)
13
+ - **Coding agents** (Claude Code, Cursor, Windsurf, etc.) — Use this npm package via stdio with an API key
15
14
 
16
- ```bash
17
- npx wolfpack-mcp
18
- ```
15
+ ### Claude Desktop (Remote MCP)
19
16
 
20
- ## Quick Start
17
+ Add to your Claude Desktop config file:
21
18
 
22
- 1. Generate an API key at [wolfpacks.work](https://wolfpacks.work) → Account Settings → API Keys
23
- 2. Add the server to Claude Desktop (see [Setup](#setup) below)
24
- 3. Restart Claude Desktop
25
- 4. Start asking Claude about your work!
19
+ **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
20
+ **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
26
21
 
27
- **Try these prompts:**
22
+ ```json
23
+ {
24
+ "mcpServers": {
25
+ "wolfpack": {
26
+ "type": "url",
27
+ "url": "https://wolfpacks.work/mcp"
28
+ }
29
+ }
30
+ }
31
+ ```
28
32
 
29
- - "What work items are assigned to me?"
30
- - "Show me open bugs"
31
- - "Create a work item to refactor the auth module"
32
- - "Update issue #42 status to in-progress"
33
- - "Add a journal entry about today's progress"
33
+ Restart Claude Desktop. You'll be prompted to sign in with your Wolfpack account via OAuth.
34
34
 
35
- ## Setup
35
+ ### Coding Agents (stdio)
36
36
 
37
- ### 1. Generate an API Key
37
+ #### 1. Generate an API Key
38
38
 
39
39
  1. Log in to [wolfpacks.work](https://wolfpacks.work)
40
40
  2. Go to **Account Settings** → **API Keys**
@@ -42,12 +42,9 @@ npx wolfpack-mcp
42
42
  4. Select the permissions you need (work items, issues, wiki, etc.)
43
43
  5. Copy your API key immediately—you won't see it again
44
44
 
45
- ### 2. Configure Claude Desktop
45
+ #### 2. Configure Your Agent
46
46
 
47
- Add to your Claude Desktop config file:
48
-
49
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
50
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
47
+ **Claude Code** (`~/.claude/settings.json` or project `.mcp.json`):
51
48
 
52
49
  ```json
53
50
  {
@@ -63,9 +60,27 @@ Add to your Claude Desktop config file:
63
60
  }
64
61
  ```
65
62
 
66
- ### 3. Restart Claude Desktop
63
+ **Cursor / Windsurf** use the same `command`, `args`, and `env` in your editor's MCP configuration.
67
64
 
68
- After saving the configuration, restart Claude Desktop to connect.
65
+ ## Installation
66
+
67
+ ```bash
68
+ npm install -g wolfpack-mcp
69
+ ```
70
+
71
+ Or use directly with npx (no installation required):
72
+
73
+ ```bash
74
+ npx wolfpack-mcp
75
+ ```
76
+
77
+ **Try these prompts:**
78
+
79
+ - "What work items are assigned to me?"
80
+ - "Show me open bugs"
81
+ - "Create a work item to refactor the auth module"
82
+ - "Update issue #42 status to in-progress"
83
+ - "Add a journal entry about today's progress"
69
84
 
70
85
  ## What You Can Do
71
86
 
@@ -79,12 +94,12 @@ After saving the configuration, restart Claude Desktop to connect.
79
94
 
80
95
  ## Multiple Projects
81
96
 
82
- If you belong to multiple project teams, Claude will ask which team you mean, or you can specify:
97
+ If you belong to multiple project teams, your AI assistant will ask which team you mean, or you can specify:
83
98
 
84
99
  - "Show my work items for the Platform team"
85
100
  - Use `list_teams` to see all your teams
86
101
 
87
- To pre-select a default team, add `WOLFPACK_TEAM_SLUG` to your config:
102
+ To pre-select a default project for coding agents, add `WOLFPACK_TEAM_SLUG` to your env config:
88
103
 
89
104
  ```json
90
105
  {
@@ -100,7 +115,7 @@ The MCP server is designed to work within **one project at a time**:
100
115
  - The agent will identify which project you're working in before taking actions
101
116
  - Once a project is identified, all operations stay within that project
102
117
  - The agent will not perform bulk actions across multiple projects
103
- - To switch projects, explicitly tell Claude (e.g., "switch to the Platform project")
118
+ - To switch projects, explicitly ask (e.g., "switch to the Platform project")
104
119
 
105
120
  ## Available Tools Reference
106
121
 
package/dist/client.js CHANGED
@@ -191,6 +191,17 @@ export class WolfpackClient {
191
191
  throw error;
192
192
  }
193
193
  }
194
+ async updateWorkItemTitle(workItemId, title) {
195
+ try {
196
+ return await this.api.put(`/work-items/${workItemId}/title`, { title });
197
+ }
198
+ catch (error) {
199
+ if (error && typeof error === 'object' && 'status' in error && error.status === 404) {
200
+ return null;
201
+ }
202
+ throw error;
203
+ }
204
+ }
194
205
  async pullWorkItem(workItemId, data) {
195
206
  try {
196
207
  return await this.api.post(`/work-items/${workItemId}/pull`, data || {});
package/dist/index.js CHANGED
@@ -113,6 +113,10 @@ const UpdateWorkItemAssigneeSchema = z.object({
113
113
  .nullable()
114
114
  .describe('User ID to assign as leading user, or null to unassign'),
115
115
  });
116
+ const UpdateWorkItemTitleSchema = z.object({
117
+ work_item_id: z.string().describe('The ID of the work item'),
118
+ title: z.string().describe('New title for the work item'),
119
+ });
116
120
  const PullWorkItemSchema = z.object({
117
121
  work_item_id: z.string().describe('The ID of the work item to pull from backlog'),
118
122
  leading_user_id: z
@@ -534,6 +538,25 @@ class WolfpackMCPServer {
534
538
  required: ['work_item_id', 'leading_user_id'],
535
539
  },
536
540
  },
541
+ {
542
+ name: 'update_work_item_title',
543
+ description: 'Change the title of a work item. ' +
544
+ 'Use this to rename or update the title of an existing work item.',
545
+ inputSchema: {
546
+ type: 'object',
547
+ properties: {
548
+ work_item_id: {
549
+ type: 'string',
550
+ description: 'The ID of the work item',
551
+ },
552
+ title: {
553
+ type: 'string',
554
+ description: 'New title for the work item',
555
+ },
556
+ },
557
+ required: ['work_item_id', 'title'],
558
+ },
559
+ },
537
560
  {
538
561
  name: 'pull_work_item',
539
562
  description: 'Pull a specific work item from the backlog to the board. ' +
@@ -1183,6 +1206,23 @@ class WolfpackMCPServer {
1183
1206
  content: [{ type: 'text', text: 'Work item not found' }],
1184
1207
  };
1185
1208
  }
1209
+ case 'update_work_item_title': {
1210
+ const parsed = UpdateWorkItemTitleSchema.parse(args);
1211
+ const workItem = await this.client.updateWorkItemTitle(parsed.work_item_id, parsed.title);
1212
+ if (workItem) {
1213
+ return {
1214
+ content: [
1215
+ {
1216
+ type: 'text',
1217
+ text: `Updated title to "${workItem.title}"\n\n${JSON.stringify(workItem, null, 2)}`,
1218
+ },
1219
+ ],
1220
+ };
1221
+ }
1222
+ return {
1223
+ content: [{ type: 'text', text: 'Work item not found' }],
1224
+ };
1225
+ }
1186
1226
  case 'pull_work_item': {
1187
1227
  const parsed = PullWorkItemSchema.parse(args);
1188
1228
  const workItem = await this.client.pullWorkItem(parsed.work_item_id, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wolfpack-mcp",
3
- "version": "1.0.36",
3
+ "version": "1.0.37",
4
4
  "description": "MCP server for Wolfpack AI-enhanced software delivery tools",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",