opencode-mcp 1.3.0 → 1.5.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.
@@ -3,7 +3,7 @@
3
3
  * for an LLM to accomplish common tasks in a single call.
4
4
  */
5
5
  import { z } from "zod";
6
- import { formatMessageResponse, formatMessageList, formatSessionList, toolResult, toolError, directoryParam, } from "../helpers.js";
6
+ import { formatMessageResponse, formatMessageList, analyzeMessageResponse, isProviderConfigured, redactSecrets, toolResult, toolError, directoryParam, } from "../helpers.js";
7
7
  export function registerWorkflowTools(server, client) {
8
8
  // ─── Setup / onboarding ───────────────────────────────────────────
9
9
  server.tool("opencode_setup", "Check OpenCode status, provider configuration, and optionally initialize a project directory. Use this as the first step when starting work — it tells you what is ready and what still needs configuration.", {
@@ -24,25 +24,94 @@ export function registerWorkflowTools(server, client) {
24
24
  if (!healthy) {
25
25
  return toolResult(sections.join("\n\n"));
26
26
  }
27
- // 2. Providers — which are connected?
27
+ // 2. Providers — categorize by readiness
28
28
  try {
29
- const providers = (await client.get("/provider", undefined, directory));
30
- if (providers && providers.length > 0) {
31
- const lines = providers.map((p) => {
32
- const id = p.id ?? p.name ?? "?";
33
- const models = p.models;
34
- const defaultModel = models && models.length > 0
35
- ? (models[0].id ?? models[0].name ?? "?")
36
- : "no models";
37
- // Check if provider has auth configured
38
- const connected = p.connected ?? p.authenticated ?? p.status === "connected";
39
- const status = connected ? "connected" : "NOT CONFIGURED";
40
- return `- ${id}: ${status}${connected ? ` (${defaultModel})` : " — use opencode_auth_set to add API key"}`;
41
- });
42
- sections.push(`## Providers\n${lines.join("\n")}`);
29
+ const raw = await client.get("/provider", undefined, directory);
30
+ const providers = (raw && typeof raw === "object" && "all" in raw
31
+ ? raw.all
32
+ : raw);
33
+ if (Array.isArray(providers) && providers.length > 0) {
34
+ // Fetch auth methods for richer guidance
35
+ let authMethods = null;
36
+ try {
37
+ authMethods = (await client.get("/provider/auth", undefined, directory));
38
+ }
39
+ catch { /* non-critical */ }
40
+ // Helper to count models
41
+ const countModels = (p) => {
42
+ const m = p.models;
43
+ return Array.isArray(m) ? m.length : m && typeof m === "object" ? Object.keys(m).length : 0;
44
+ };
45
+ const ready = providers.filter(isProviderConfigured);
46
+ const withOAuth = providers.filter((p) => !ready.includes(p) && authMethods && Array.isArray(authMethods[p.id]));
47
+ // Popular providers worth highlighting (have free tiers or are well-known)
48
+ const popularIds = new Set([
49
+ "anthropic", "openai", "google", "firmware", "openrouter",
50
+ "groq", "deepseek", "huggingface", "github-copilot", "mistral",
51
+ ]);
52
+ const popular = providers.filter((p) => !ready.includes(p) && popularIds.has(p.id));
53
+ const otherCount = providers.length - ready.length - popular.length;
54
+ const providerLines = [];
55
+ // Section: Ready to use
56
+ if (ready.length > 0) {
57
+ providerLines.push("**Ready to use:**");
58
+ for (const p of ready) {
59
+ const id = p.id;
60
+ const name = p.name;
61
+ const mc = countModels(p);
62
+ const envVars = p.env?.join(", ") ?? "";
63
+ providerLines.push(`- ${id} (${name}): detected via ${envVars} — ${mc} models`);
64
+ }
65
+ }
66
+ else {
67
+ providerLines.push("**No providers configured yet.** You need at least one to start using OpenCode.");
68
+ }
69
+ // Section: Quick setup options
70
+ providerLines.push("");
71
+ providerLines.push("**Quick setup options:**");
72
+ for (const p of popular) {
73
+ const id = p.id;
74
+ const name = p.name;
75
+ const mc = countModels(p);
76
+ const envVars = p.env ?? [];
77
+ const envHint = envVars.length > 0 ? `set ${envVars[0]}` : "";
78
+ // Check for OAuth
79
+ const oauthAvailable = authMethods && Array.isArray(authMethods[id]);
80
+ const methods = [];
81
+ if (oauthAvailable) {
82
+ const labels = authMethods[id]
83
+ .filter((m) => m.type === "oauth")
84
+ .map((m) => m.label);
85
+ if (labels.length > 0)
86
+ methods.push(`OAuth (${labels[0]})`);
87
+ }
88
+ if (envHint)
89
+ methods.push(`\`opencode_auth_set\` or env var \`${envVars[0]}\``);
90
+ // Check for free models
91
+ const rawModels = p.models;
92
+ const modelValues = rawModels && typeof rawModels === "object" && !Array.isArray(rawModels)
93
+ ? Object.values(rawModels)
94
+ : Array.isArray(rawModels) ? rawModels : [];
95
+ const hasFree = modelValues.some((m) => {
96
+ const cost = m.cost;
97
+ return cost && cost.input === 0 && cost.output === 0;
98
+ });
99
+ const freeTag = hasFree ? " [has free models]" : "";
100
+ providerLines.push(`- ${id} (${name}): ${mc} models${freeTag} — ${methods.join(" or ")}`);
101
+ }
102
+ // Mention OAuth-only providers not already listed
103
+ const oauthOnly = withOAuth.filter((p) => !popular.includes(p) && !ready.includes(p));
104
+ if (oauthOnly.length > 0) {
105
+ const names = oauthOnly.map((p) => `${p.id}`).join(", ");
106
+ providerLines.push(`- Also available via OAuth: ${names}`);
107
+ }
108
+ if (otherCount > 0) {
109
+ providerLines.push(`\n+${otherCount} more providers available. Use \`opencode_provider_list\` to see all.`);
110
+ }
111
+ sections.push(`## Providers (${providers.length} available)\n${providerLines.join("\n")}`);
43
112
  }
44
113
  else {
45
- sections.push("## Providers\nNo providers found.");
114
+ sections.push("## Providers\nNo providers found. Is the server running correctly?");
46
115
  }
47
116
  }
48
117
  catch {
@@ -51,8 +120,12 @@ export function registerWorkflowTools(server, client) {
51
120
  // 3. Project info (if directory given or from default)
52
121
  try {
53
122
  const project = (await client.get("/project/current", undefined, directory));
54
- const name = project.name ?? project.id ?? "unknown";
55
- const worktree = project.worktree ?? "unknown";
123
+ const worktree = (project.worktree ?? "unknown");
124
+ // Derive a readable name: prefer project.name, then last dir component from worktree, then id
125
+ const name = project.name
126
+ ?? (worktree !== "unknown" ? worktree.split("/").filter(Boolean).pop() : null)
127
+ ?? project.id
128
+ ?? "unknown";
56
129
  const vcs = project.vcs ?? "none";
57
130
  sections.push(`## Project\nName: ${name}\nPath: ${worktree}\nVCS: ${vcs}`);
58
131
  }
@@ -64,11 +137,27 @@ export function registerWorkflowTools(server, client) {
64
137
  sections.push("## Project\nNo project context available (no directory specified and server has no default project).");
65
138
  }
66
139
  }
67
- // 4. Next steps guidance
140
+ // 4. Context-dependent next steps
68
141
  const tips = [];
69
- tips.push("- Use `opencode_ask` with a `directory` parameter to start working on a project");
70
- tips.push("- Use `opencode_auth_set` to configure API keys for providers");
71
- tips.push("- Use `opencode_context` to get full project context (config, VCS, agents)");
142
+ const hasReady = sections.some((s) => s.includes("**Ready to use:**"));
143
+ const hasProject = sections.some((s) => s.startsWith("## Project\nName:"));
144
+ if (!hasReady) {
145
+ // No providers configured — guide them to set one up
146
+ tips.push("**You need to configure a provider first.** Options:");
147
+ tips.push("1. Set an API key: `opencode_auth_set` with providerId (e.g. 'anthropic', 'openai', 'google')");
148
+ tips.push("2. Set an env var (e.g. `OPENROUTER_API_KEY`, `HF_TOKEN`, `ANTHROPIC_API_KEY`) and restart opencode");
149
+ tips.push("3. Try **firmware** — it has 23 free models, no API key needed. Use `opencode_ask` with `providerID: 'firmware'`");
150
+ }
151
+ else {
152
+ // Providers ready — guide to first task
153
+ tips.push("**You're ready to go!** Try:");
154
+ tips.push("- `opencode_ask` — ask a question or give an instruction (easiest way to start)");
155
+ if (!hasProject) {
156
+ tips.push("- Pass a `directory` parameter to target a specific project");
157
+ }
158
+ tips.push("- `opencode_context` — get full project context (config, VCS, agents)");
159
+ tips.push("- `opencode_provider_models` — explore available models for your configured providers");
160
+ }
72
161
  sections.push(`## Next Steps\n${tips.join("\n")}`);
73
162
  return toolResult(sections.join("\n\n"));
74
163
  }
@@ -119,9 +208,17 @@ export function registerWorkflowTools(server, client) {
119
208
  if (system)
120
209
  body.system = system;
121
210
  const response = await client.post(`/session/${sessionId}/message`, body, { directory });
122
- // 3. Format and return
211
+ // 3. Analyze for auth / empty response issues
212
+ const analysis = analyzeMessageResponse(response);
213
+ // 4. Format and return
123
214
  const formatted = formatMessageResponse(response);
124
- return toolResult(`Session: ${sessionId}\n\n${formatted}`);
215
+ const parts = [`Session: ${sessionId}`];
216
+ if (formatted)
217
+ parts.push(formatted);
218
+ if (analysis.warning) {
219
+ parts.push(`\n--- WARNING ---\n${analysis.warning}`);
220
+ }
221
+ return toolResult(parts.join("\n\n"), analysis.hasError);
125
222
  }
126
223
  catch (e) {
127
224
  return toolError(e);
@@ -146,8 +243,15 @@ export function registerWorkflowTools(server, client) {
146
243
  if (agent)
147
244
  body.agent = agent;
148
245
  const response = await client.post(`/session/${sessionId}/message`, body, { directory });
246
+ const analysis = analyzeMessageResponse(response);
149
247
  const formatted = formatMessageResponse(response);
150
- return toolResult(formatted);
248
+ const parts = [];
249
+ if (formatted)
250
+ parts.push(formatted);
251
+ if (analysis.warning) {
252
+ parts.push(`\n--- WARNING ---\n${analysis.warning}`);
253
+ }
254
+ return toolResult(parts.join("\n\n") || "Empty response.", analysis.hasError);
151
255
  }
152
256
  catch (e) {
153
257
  return toolError(e);
@@ -183,13 +287,19 @@ export function registerWorkflowTools(server, client) {
183
287
  client.get("/session", undefined, directory),
184
288
  client.get("/session/status", undefined, directory),
185
289
  ]);
186
- // Merge status into session info
187
- const enriched = sessions.map((s) => ({
188
- ...s,
189
- status: statuses[s.id] ?? "unknown",
190
- }));
191
- const formatted = formatSessionList(enriched);
192
- return toolResult(formatted);
290
+ if (!sessions || sessions.length === 0) {
291
+ return toolResult("No sessions found.");
292
+ }
293
+ // Merge status and show enriched overview
294
+ const lines = sessions.map((s) => {
295
+ const id = s.id ?? "?";
296
+ const title = s.title ?? "(untitled)";
297
+ const status = (statuses[id] ?? "idle");
298
+ const createdAt = s.createdAt ? ` | created ${s.createdAt}` : "";
299
+ const parentTag = s.parentID ? ` (child of ${s.parentID})` : "";
300
+ return `- [${status}] ${title} [${id}]${parentTag}${createdAt}`;
301
+ });
302
+ return toolResult(`## Sessions (${sessions.length})\n${lines.join("\n")}`);
193
303
  }
194
304
  catch (e) {
195
305
  return toolError(e);
@@ -209,16 +319,64 @@ export function registerWorkflowTools(server, client) {
209
319
  ]);
210
320
  const sections = [];
211
321
  if (project) {
212
- sections.push(`## Project\n${JSON.stringify(project, null, 2)}`);
322
+ const p = project;
323
+ const worktree = (p.worktree ?? "unknown");
324
+ const name = p.name
325
+ ?? (worktree !== "unknown" ? worktree.split("/").filter(Boolean).pop() : null)
326
+ ?? p.id ?? "unknown";
327
+ const lines = [`Name: ${name}`, `Path: ${worktree}`];
328
+ if (p.vcs)
329
+ lines.push(`VCS: ${p.vcs}`);
330
+ if (p.id)
331
+ lines.push(`ID: ${p.id}`);
332
+ sections.push(`## Project\n${lines.join("\n")}`);
213
333
  }
214
334
  if (path) {
215
- sections.push(`## Path\n${JSON.stringify(path, null, 2)}`);
335
+ const pp = path;
336
+ const workDir = pp.worktree ?? pp.directory ?? pp.cwd ?? pp.path;
337
+ const pathLines = [];
338
+ if (workDir)
339
+ pathLines.push(`Working directory: ${workDir}`);
340
+ if (pp.config && pp.config !== workDir)
341
+ pathLines.push(`Config: ${pp.config}`);
342
+ if (pp.state && pp.state !== workDir)
343
+ pathLines.push(`State: ${pp.state}`);
344
+ if (pp.home && pp.home !== workDir)
345
+ pathLines.push(`Home: ${pp.home}`);
346
+ if (pathLines.length === 0)
347
+ pathLines.push(`Working directory: ${JSON.stringify(pp)}`);
348
+ sections.push(`## Path\n${pathLines.join("\n")}`);
216
349
  }
217
350
  if (vcs) {
218
- sections.push(`## VCS (Git)\n${JSON.stringify(vcs, null, 2)}`);
351
+ const v = vcs;
352
+ const lines = [];
353
+ if (v.branch)
354
+ lines.push(`Branch: ${v.branch}`);
355
+ if (v.remote)
356
+ lines.push(`Remote: ${v.remote}`);
357
+ if (v.sha)
358
+ lines.push(`HEAD: ${v.sha}`);
359
+ if (v.dirty !== undefined)
360
+ lines.push(`Dirty: ${v.dirty}`);
361
+ sections.push(`## VCS (Git)\n${lines.length > 0 ? lines.join("\n") : "No VCS info available."}`);
219
362
  }
220
363
  if (config) {
221
- sections.push(`## Config\n${JSON.stringify(config, null, 2)}`);
364
+ // Show config summary with secrets redacted — skip overwhelming nested objects
365
+ const c = redactSecrets(config);
366
+ const topLevel = [];
367
+ for (const [k, v] of Object.entries(c)) {
368
+ if (v && typeof v === "object" && !Array.isArray(v)) {
369
+ const keys = Object.keys(v);
370
+ topLevel.push(`${k}: {${keys.length} entries}`);
371
+ }
372
+ else if (Array.isArray(v)) {
373
+ topLevel.push(`${k}: [${v.length} items]`);
374
+ }
375
+ else {
376
+ topLevel.push(`${k}: ${v}`);
377
+ }
378
+ }
379
+ sections.push(`## Config\n${topLevel.join("\n")}`);
222
380
  }
223
381
  if (agents) {
224
382
  const agentList = agents;
@@ -291,5 +449,103 @@ export function registerWorkflowTools(server, client) {
291
449
  return toolError(e);
292
450
  }
293
451
  });
452
+ // ─── Provider test ────────────────────────────────────────────────
453
+ server.tool("opencode_provider_test", "Quick-test whether a provider is working. Creates a temporary session, sends a trivial prompt, checks the response, and cleans up. Great for debugging auth issues.", {
454
+ providerId: z.string().describe("Provider ID to test (e.g. 'anthropic', 'openrouter')"),
455
+ modelID: z.string().optional().describe("Specific model ID to test. If omitted, uses provider default."),
456
+ directory: directoryParam,
457
+ }, async ({ providerId, modelID, directory }) => {
458
+ let sessionId = null;
459
+ try {
460
+ // 1. Create a temporary test session
461
+ const session = (await client.post("/session", {
462
+ title: `[test] ${providerId}`,
463
+ }, { directory }));
464
+ sessionId = session.id;
465
+ // 2. Send a trivial prompt
466
+ const body = {
467
+ parts: [{ type: "text", text: "Say hello in one word." }],
468
+ };
469
+ // Use the specified model, or let the provider pick its default
470
+ if (modelID) {
471
+ body.model = { providerID: providerId, modelID };
472
+ }
473
+ else {
474
+ body.providerID = providerId;
475
+ }
476
+ const response = await client.post(`/session/${sessionId}/message`, body, { directory });
477
+ // 3. Analyze the response
478
+ const analysis = analyzeMessageResponse(response);
479
+ const formatted = formatMessageResponse(response);
480
+ // 4. Cleanup — delete test session
481
+ try {
482
+ await client.delete(`/session/${sessionId}`, undefined, directory);
483
+ }
484
+ catch { /* best-effort cleanup */ }
485
+ if (analysis.hasError || analysis.isEmpty) {
486
+ const reason = analysis.warning ?? "Unknown error — no response received.";
487
+ return toolResult(`Provider "${providerId}" FAILED.\n\n${reason}`, true);
488
+ }
489
+ const preview = formatted.length > 200 ? formatted.slice(0, 200) + "..." : formatted;
490
+ return toolResult(`Provider "${providerId}" is working.\n\nResponse: ${preview}`);
491
+ }
492
+ catch (e) {
493
+ // Cleanup on error
494
+ if (sessionId) {
495
+ try {
496
+ await client.delete(`/session/${sessionId}`, undefined, directory);
497
+ }
498
+ catch { /* best-effort cleanup */ }
499
+ }
500
+ return toolError(e);
501
+ }
502
+ });
503
+ // ─── Quick status dashboard ───────────────────────────────────────
504
+ server.tool("opencode_status", "Get a quick status dashboard: server health, provider count, session count, and VCS info. Lighter than opencode_setup — good for at-a-glance checks.", {
505
+ directory: directoryParam,
506
+ }, async ({ directory }) => {
507
+ try {
508
+ const [health, providerRaw, sessions, vcs] = await Promise.all([
509
+ client.get("/global/health", undefined, directory).catch(() => null),
510
+ client.get("/provider", undefined, directory).catch(() => null),
511
+ client.get("/session", undefined, directory).catch(() => null),
512
+ client.get("/vcs", undefined, directory).catch(() => null),
513
+ ]);
514
+ const lines = [];
515
+ // Health
516
+ if (health) {
517
+ const h = health;
518
+ lines.push(`Server: healthy (v${h.version ?? "?"})`);
519
+ }
520
+ else {
521
+ lines.push("Server: UNREACHABLE");
522
+ }
523
+ // Providers
524
+ if (providerRaw) {
525
+ const providers = (providerRaw && typeof providerRaw === "object" && "all" in providerRaw
526
+ ? providerRaw.all
527
+ : providerRaw);
528
+ if (Array.isArray(providers)) {
529
+ const configured = providers.filter(isProviderConfigured).length;
530
+ lines.push(`Providers: ${configured} configured / ${providers.length} total`);
531
+ }
532
+ }
533
+ // Sessions
534
+ if (sessions && Array.isArray(sessions)) {
535
+ lines.push(`Sessions: ${sessions.length}`);
536
+ }
537
+ // VCS
538
+ if (vcs) {
539
+ const v = vcs;
540
+ const branch = v.branch ?? "unknown";
541
+ const dirty = v.dirty === true ? " (dirty)" : v.dirty === false ? " (clean)" : "";
542
+ lines.push(`Branch: ${branch}${dirty}`);
543
+ }
544
+ return toolResult(`## Status\n${lines.join("\n")}`);
545
+ }
546
+ catch (e) {
547
+ return toolError(e);
548
+ }
549
+ });
294
550
  }
295
551
  //# sourceMappingURL=workflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "opencode-mcp",
3
- "version": "1.3.0",
4
- "description": "MCP server that wraps the OpenCode AI headless server API — 71 tools, 10 resources, 5 prompts with multi-project support for any MCP client",
3
+ "version": "1.5.0",
4
+ "description": "MCP server that wraps the OpenCode AI headless server API — 75 tools, 10 resources, 5 prompts with multi-project support for any MCP client",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "bin": {