@comfanion/workflow 4.36.27 → 4.36.29

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
@@ -278,6 +278,31 @@ vectorizer:
278
278
  4. Remove TODOs
279
279
  ```
280
280
 
281
+ ## MCP Servers
282
+
283
+ Extend AI capabilities with Model Context Protocol servers:
284
+
285
+ ```bash
286
+ # List available MCP servers
287
+ npx @comfanion/workflow mcp list
288
+
289
+ # Enable servers interactively
290
+ npx @comfanion/workflow mcp enable
291
+ ```
292
+
293
+ ### Recommended MCP Servers
294
+
295
+ | Server | Description |
296
+ |--------|-------------|
297
+ | **context7** ⭐ | Library docs for npm, Go, Python |
298
+ | **sequential-thinking** ⭐ | Enhanced reasoning for complex tasks |
299
+ | **playwright** | Browser automation, testing |
300
+ | **atlassian** | Jira/Confluence integration |
301
+
302
+ MCP configs stored in `.opencode/mcp/`:
303
+ - `catalog.yaml` - Available servers (updated by workflow)
304
+ - `enabled.yaml` - Your selections (not touched by updates)
305
+
281
306
  ## Jira Integration
282
307
 
283
308
  Set credentials:
package/bin/cli.js CHANGED
@@ -255,10 +255,25 @@ program
255
255
  message: 'Enable auto-indexing? (reindex files on save)',
256
256
  when: (answers) => answers.install_vectorizer,
257
257
  default: true
258
+ },
259
+ {
260
+ type: 'checkbox',
261
+ name: 'mcp_servers',
262
+ message: 'Select MCP servers to enable:',
263
+ choices: [
264
+ { name: 'context7 - Library docs for npm, Go, Python (recommended)', value: 'context7', checked: true },
265
+ { name: 'sequential-thinking - Enhanced reasoning for complex tasks', value: 'sequential-thinking', checked: false },
266
+ { name: 'playwright - Browser automation and testing', value: 'playwright', checked: false },
267
+ { name: 'chrome-devtools - Chrome debugging and inspection', value: 'chrome-devtools', checked: false },
268
+ { name: 'atlassian - Jira/Confluence integration', value: 'atlassian', checked: false },
269
+ { name: 'github - GitHub repos, issues, PRs', value: 'github', checked: false },
270
+ { name: 'postgres - PostgreSQL database queries', value: 'postgres', checked: false }
271
+ ]
258
272
  }
259
273
  ]);
260
274
 
261
275
  config = { ...config, ...answers };
276
+ config.mcp_servers = answers.mcp_servers || [];
262
277
  } else {
263
278
  // Apply CLI flags for non-interactive mode
264
279
  if (options.tdd) config.methodology = 'tdd';
@@ -488,6 +503,28 @@ program
488
503
  await fs.copy(changelogTemplate, changelogPath);
489
504
  }
490
505
  }
506
+
507
+ // Save MCP server selections (only if user made selections)
508
+ if (config.mcp_servers && config.mcp_servers.length > 0) {
509
+ spinner.text = 'Configuring MCP servers...';
510
+ const mcpEnabledPath = path.join(targetDir, 'mcp', 'enabled.yaml');
511
+
512
+ // Don't overwrite existing enabled.yaml if updating
513
+ if (!isUpdate || !await fs.pathExists(mcpEnabledPath)) {
514
+ let mcpContent = `# Enabled MCP Servers
515
+ # Your personal selection of MCP servers
516
+ # This file is NOT modified by updates
517
+
518
+ `;
519
+ for (const server of config.mcp_servers) {
520
+ mcpContent += `${server}:
521
+ enabled: true
522
+
523
+ `;
524
+ }
525
+ await fs.writeFile(mcpEnabledPath, mcpContent);
526
+ }
527
+ }
491
528
 
492
529
  // Install plugin dependencies
493
530
  spinner.text = 'Installing plugin dependencies...';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comfanion/workflow",
3
- "version": "4.36.27",
3
+ "version": "4.36.29",
4
4
  "description": "Initialize OpenCode Workflow system for AI-assisted development with semantic code search",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "4.36.27",
3
- "buildDate": "2026-01-24T20:40:40.663Z",
2
+ "version": "4.36.29",
3
+ "buildDate": "2026-01-24T20:54:34.023Z",
4
4
  "files": [
5
5
  "config.yaml",
6
6
  "FLOW.yaml",
@@ -11,6 +11,7 @@
11
11
  "commands",
12
12
  "tools",
13
13
  "plugins",
14
+ "mcp",
14
15
  "package.json",
15
16
  "opencode.json"
16
17
  ]
@@ -0,0 +1,89 @@
1
+ # MCP Servers
2
+
3
+ Model Context Protocol (MCP) servers extend AI assistant capabilities with external tools and integrations.
4
+
5
+ ## Quick Start
6
+
7
+ ```bash
8
+ # List available MCP servers
9
+ npx @comfanion/workflow mcp list
10
+
11
+ # Interactive selection
12
+ npx @comfanion/workflow mcp enable
13
+
14
+ # Add specific server
15
+ npx @comfanion/workflow mcp add context7
16
+
17
+ # Remove server
18
+ npx @comfanion/workflow mcp remove context7
19
+ ```
20
+
21
+ ## Files
22
+
23
+ | File | Purpose | Updated by |
24
+ |------|---------|------------|
25
+ | `catalog.yaml` | Available MCP servers | `workflow update` |
26
+ | `enabled.yaml` | Your selections | You (manual or CLI) |
27
+
28
+ ## Recommended Servers
29
+
30
+ ### context7 ⭐
31
+ Library documentation for npm, Go, Python packages. Essential for researching APIs.
32
+
33
+ ### sequential-thinking ⭐
34
+ Enhanced reasoning for complex multi-step problems. Helps with architecture decisions.
35
+
36
+ ## Categories
37
+
38
+ - 📚 **Documentation** - Library docs, research
39
+ - 🧠 **Thinking** - Reasoning, planning
40
+ - 🌐 **Browser** - Playwright, Chrome DevTools
41
+ - 🔌 **Integrations** - Jira, GitHub, Slack
42
+ - 🗄️ **Database** - PostgreSQL, Redis, SQLite
43
+ - 🔗 **API** - HTTP, OpenAPI
44
+
45
+ ## Manual Configuration
46
+
47
+ Edit `enabled.yaml`:
48
+
49
+ ```yaml
50
+ context7:
51
+ enabled: true
52
+
53
+ atlassian:
54
+ enabled: true
55
+ config:
56
+ env:
57
+ ATLASSIAN_URL: "https://your-domain.atlassian.net"
58
+ ```
59
+
60
+ ## Environment Variables
61
+
62
+ Some MCP servers require environment variables:
63
+
64
+ ```bash
65
+ # Atlassian
66
+ export ATLASSIAN_EMAIL="your-email@company.com"
67
+ export ATLASSIAN_API_TOKEN="your-token"
68
+ export ATLASSIAN_URL="https://your-domain.atlassian.net"
69
+
70
+ # GitHub
71
+ export GITHUB_TOKEN="ghp_xxx"
72
+
73
+ # PostgreSQL
74
+ export POSTGRES_CONNECTION_STRING="postgresql://..."
75
+ ```
76
+
77
+ ## Adding Custom MCP
78
+
79
+ Add to `enabled.yaml`:
80
+
81
+ ```yaml
82
+ my-custom-mcp:
83
+ enabled: true
84
+ config:
85
+ command: npx
86
+ args: ["-y", "my-custom-mcp-package"]
87
+ env:
88
+ MY_API_KEY: "xxx"
89
+ ```
@@ -0,0 +1,230 @@
1
+ # MCP Server Catalog
2
+ # Curated list of recommended MCP servers for AI-assisted development
3
+ #
4
+ # This file is updated by `npx @comfanion/workflow update`
5
+ # Your selections are stored in `enabled.yaml` (not touched by updates)
6
+ #
7
+ # Usage:
8
+ # npx @comfanion/workflow mcp list # Show available MCP servers
9
+ # npx @comfanion/workflow mcp enable # Interactive selection
10
+ # npx @comfanion/workflow mcp add <id> # Add specific MCP
11
+ #
12
+ # Version: 1.0.0
13
+ # Last updated: 2026-01-24
14
+
15
+ servers:
16
+ # ==========================================================================
17
+ # DOCUMENTATION & RESEARCH
18
+ # ==========================================================================
19
+
20
+ context7:
21
+ name: "Context7"
22
+ description: "Library documentation for npm, Go, Python packages"
23
+ category: documentation
24
+ recommended: true
25
+ config:
26
+ command: npx
27
+ args: ["-y", "@anthropic/mcp-context7"]
28
+ tags: [docs, npm, go, python, research]
29
+
30
+ # ==========================================================================
31
+ # THINKING & REASONING
32
+ # ==========================================================================
33
+
34
+ sequential-thinking:
35
+ name: "Sequential Thinking"
36
+ description: "Enhanced reasoning for complex multi-step problems"
37
+ category: thinking
38
+ recommended: true
39
+ config:
40
+ command: npx
41
+ args: ["-y", "@anthropic/mcp-sequential-thinking"]
42
+ tags: [reasoning, planning, complex-tasks]
43
+
44
+ # ==========================================================================
45
+ # BROWSER & UI
46
+ # ==========================================================================
47
+
48
+ playwright:
49
+ name: "Playwright"
50
+ description: "Browser automation, testing, and web scraping"
51
+ category: browser
52
+ recommended: false
53
+ config:
54
+ command: npx
55
+ args: ["-y", "@anthropic/mcp-playwright"]
56
+ tags: [browser, testing, automation, scraping]
57
+
58
+ chrome-devtools:
59
+ name: "Chrome DevTools"
60
+ description: "Chrome debugging, performance analysis, DOM inspection"
61
+ category: browser
62
+ recommended: false
63
+ config:
64
+ command: npx
65
+ args: ["-y", "chrome-devtools-mcp@latest"]
66
+ tags: [chrome, debugging, devtools]
67
+
68
+ puppeteer:
69
+ name: "Puppeteer"
70
+ description: "Headless Chrome automation"
71
+ category: browser
72
+ recommended: false
73
+ config:
74
+ command: npx
75
+ args: ["-y", "@anthropic/mcp-puppeteer"]
76
+ tags: [chrome, headless, automation]
77
+
78
+ # ==========================================================================
79
+ # INTEGRATIONS
80
+ # ==========================================================================
81
+
82
+ atlassian:
83
+ name: "Atlassian (Jira/Confluence)"
84
+ description: "Jira issues, Confluence pages integration"
85
+ category: integrations
86
+ recommended: false
87
+ requires_env:
88
+ - ATLASSIAN_EMAIL
89
+ - ATLASSIAN_API_TOKEN
90
+ - ATLASSIAN_URL
91
+ config:
92
+ command: npx
93
+ args: ["-y", "@anthropic/mcp-atlassian"]
94
+ tags: [jira, confluence, tickets, docs]
95
+
96
+ github:
97
+ name: "GitHub"
98
+ description: "GitHub repos, issues, PRs, actions"
99
+ category: integrations
100
+ recommended: false
101
+ requires_env:
102
+ - GITHUB_TOKEN
103
+ config:
104
+ command: npx
105
+ args: ["-y", "@anthropic/mcp-github"]
106
+ tags: [github, git, issues, prs]
107
+
108
+ gitlab:
109
+ name: "GitLab"
110
+ description: "GitLab repos, issues, MRs, pipelines"
111
+ category: integrations
112
+ recommended: false
113
+ requires_env:
114
+ - GITLAB_TOKEN
115
+ config:
116
+ command: npx
117
+ args: ["-y", "@anthropic/mcp-gitlab"]
118
+ tags: [gitlab, git, issues, mrs]
119
+
120
+ slack:
121
+ name: "Slack"
122
+ description: "Slack messages, channels, search"
123
+ category: integrations
124
+ recommended: false
125
+ requires_env:
126
+ - SLACK_TOKEN
127
+ config:
128
+ command: npx
129
+ args: ["-y", "@anthropic/mcp-slack"]
130
+ tags: [slack, messaging, communication]
131
+
132
+ # ==========================================================================
133
+ # DATA & STORAGE
134
+ # ==========================================================================
135
+
136
+ postgres:
137
+ name: "PostgreSQL"
138
+ description: "Query PostgreSQL databases"
139
+ category: database
140
+ recommended: false
141
+ requires_env:
142
+ - POSTGRES_CONNECTION_STRING
143
+ config:
144
+ command: npx
145
+ args: ["-y", "@anthropic/mcp-postgres"]
146
+ tags: [database, sql, postgres]
147
+
148
+ sqlite:
149
+ name: "SQLite"
150
+ description: "Query SQLite databases"
151
+ category: database
152
+ recommended: false
153
+ config:
154
+ command: npx
155
+ args: ["-y", "@anthropic/mcp-sqlite"]
156
+ tags: [database, sql, sqlite]
157
+
158
+ redis:
159
+ name: "Redis"
160
+ description: "Redis key-value operations"
161
+ category: database
162
+ recommended: false
163
+ requires_env:
164
+ - REDIS_URL
165
+ config:
166
+ command: npx
167
+ args: ["-y", "@anthropic/mcp-redis"]
168
+ tags: [database, cache, redis]
169
+
170
+ # ==========================================================================
171
+ # FILE & SYSTEM
172
+ # ==========================================================================
173
+
174
+ filesystem:
175
+ name: "Filesystem"
176
+ description: "Advanced file operations (usually built-in)"
177
+ category: system
178
+ recommended: false
179
+ config:
180
+ command: npx
181
+ args: ["-y", "@anthropic/mcp-filesystem"]
182
+ tags: [files, filesystem]
183
+
184
+ # ==========================================================================
185
+ # API & WEB
186
+ # ==========================================================================
187
+
188
+ fetch:
189
+ name: "Fetch"
190
+ description: "HTTP requests to external APIs (usually built-in)"
191
+ category: api
192
+ recommended: false
193
+ config:
194
+ command: npx
195
+ args: ["-y", "@anthropic/mcp-fetch"]
196
+ tags: [http, api, fetch]
197
+
198
+ openapi:
199
+ name: "OpenAPI"
200
+ description: "Interact with APIs via OpenAPI specs"
201
+ category: api
202
+ recommended: false
203
+ config:
204
+ command: npx
205
+ args: ["-y", "@anthropic/mcp-openapi"]
206
+ tags: [api, openapi, swagger]
207
+
208
+ # Categories for UI grouping
209
+ categories:
210
+ documentation:
211
+ name: "Documentation & Research"
212
+ icon: "📚"
213
+ thinking:
214
+ name: "Thinking & Reasoning"
215
+ icon: "🧠"
216
+ browser:
217
+ name: "Browser & UI"
218
+ icon: "🌐"
219
+ integrations:
220
+ name: "Integrations"
221
+ icon: "🔌"
222
+ database:
223
+ name: "Data & Storage"
224
+ icon: "🗄️"
225
+ system:
226
+ name: "File & System"
227
+ icon: "📁"
228
+ api:
229
+ name: "API & Web"
230
+ icon: "🔗"