opencode-mcp 1.4.0 → 1.8.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/CHANGELOG.md +55 -0
- package/README.md +25 -8
- package/dist/client.d.ts +3 -1
- package/dist/client.js +29 -1
- package/dist/client.js.map +1 -1
- package/dist/helpers.d.ts +45 -0
- package/dist/helpers.js +293 -11
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +82 -11
- package/dist/index.js.map +1 -1
- package/dist/prompts.js +65 -0
- package/dist/prompts.js.map +1 -1
- package/dist/tools/config.js +70 -3
- package/dist/tools/config.js.map +1 -1
- package/dist/tools/events.js +1 -1
- package/dist/tools/events.js.map +1 -1
- package/dist/tools/file.js +38 -17
- package/dist/tools/file.js.map +1 -1
- package/dist/tools/global.js +6 -3
- package/dist/tools/global.js.map +1 -1
- package/dist/tools/message.js +10 -2
- package/dist/tools/message.js.map +1 -1
- package/dist/tools/misc.js +145 -11
- package/dist/tools/misc.js.map +1 -1
- package/dist/tools/project.js +41 -3
- package/dist/tools/project.js.map +1 -1
- package/dist/tools/provider.js +94 -28
- package/dist/tools/provider.js.map +1 -1
- package/dist/tools/session.js +126 -19
- package/dist/tools/session.js.map +1 -1
- package/dist/tools/workflow.js +278 -88
- package/dist/tools/workflow.js.map +1 -1
- package/package.json +2 -2
package/dist/tools/workflow.js
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
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,
|
|
6
|
+
import { formatMessageResponse, formatMessageList, analyzeMessageResponse, isProviderConfigured, redactSecrets, resolveSessionStatus, toolResult, toolError, directoryParam, readOnly, } 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.", {
|
|
10
10
|
directory: directoryParam,
|
|
11
|
-
}, async ({ directory }) => {
|
|
11
|
+
}, readOnly, async ({ directory }) => {
|
|
12
12
|
try {
|
|
13
13
|
const sections = [];
|
|
14
14
|
// 1. Health check
|
|
@@ -24,76 +24,94 @@ export function registerWorkflowTools(server, client) {
|
|
|
24
24
|
if (!healthy) {
|
|
25
25
|
return toolResult(sections.join("\n\n"));
|
|
26
26
|
}
|
|
27
|
-
// 2. Providers —
|
|
27
|
+
// 2. Providers — categorize by readiness
|
|
28
28
|
try {
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
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
|
|
32
35
|
let authMethods = null;
|
|
33
36
|
try {
|
|
34
37
|
authMethods = (await client.get("/provider/auth", undefined, directory));
|
|
35
38
|
}
|
|
36
39
|
catch { /* non-critical */ }
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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`);
|
|
55
64
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
else {
|
|
79
|
-
verified = "WORKING";
|
|
80
|
-
}
|
|
81
|
-
// Clean up probe session
|
|
82
|
-
try {
|
|
83
|
-
await client.delete(`/session/${sessionId}`, undefined, directory);
|
|
84
|
-
}
|
|
85
|
-
catch { /* best effort */ }
|
|
86
|
-
}
|
|
87
|
-
catch {
|
|
88
|
-
// If the probe throws (e.g. network error), just report connected
|
|
89
|
-
verified = "connected (could not verify)";
|
|
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]})`);
|
|
90
87
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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")}`);
|
|
94
112
|
}
|
|
95
113
|
else {
|
|
96
|
-
sections.push("## Providers\nNo providers found.");
|
|
114
|
+
sections.push("## Providers\nNo providers found. Is the server running correctly?");
|
|
97
115
|
}
|
|
98
116
|
}
|
|
99
117
|
catch {
|
|
@@ -102,8 +120,12 @@ export function registerWorkflowTools(server, client) {
|
|
|
102
120
|
// 3. Project info (if directory given or from default)
|
|
103
121
|
try {
|
|
104
122
|
const project = (await client.get("/project/current", undefined, directory));
|
|
105
|
-
const
|
|
106
|
-
|
|
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";
|
|
107
129
|
const vcs = project.vcs ?? "none";
|
|
108
130
|
sections.push(`## Project\nName: ${name}\nPath: ${worktree}\nVCS: ${vcs}`);
|
|
109
131
|
}
|
|
@@ -115,11 +137,27 @@ export function registerWorkflowTools(server, client) {
|
|
|
115
137
|
sections.push("## Project\nNo project context available (no directory specified and server has no default project).");
|
|
116
138
|
}
|
|
117
139
|
}
|
|
118
|
-
// 4.
|
|
140
|
+
// 4. Context-dependent next steps
|
|
119
141
|
const tips = [];
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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
|
+
}
|
|
123
161
|
sections.push(`## Next Steps\n${tips.join("\n")}`);
|
|
124
162
|
return toolResult(sections.join("\n\n"));
|
|
125
163
|
}
|
|
@@ -227,7 +265,7 @@ export function registerWorkflowTools(server, client) {
|
|
|
227
265
|
.optional()
|
|
228
266
|
.describe("Max messages to return (default: all)"),
|
|
229
267
|
directory: directoryParam,
|
|
230
|
-
}, async ({ sessionId, limit, directory }) => {
|
|
268
|
+
}, readOnly, async ({ sessionId, limit, directory }) => {
|
|
231
269
|
try {
|
|
232
270
|
const query = {};
|
|
233
271
|
if (limit !== undefined)
|
|
@@ -243,19 +281,24 @@ export function registerWorkflowTools(server, client) {
|
|
|
243
281
|
// ─── Quick session overview ────────────────────────────────────────
|
|
244
282
|
server.tool("opencode_sessions_overview", "Get a quick overview of all sessions with their titles and status. Useful to find which session to continue working in.", {
|
|
245
283
|
directory: directoryParam,
|
|
246
|
-
}, async ({ directory }) => {
|
|
284
|
+
}, readOnly, async ({ directory }) => {
|
|
247
285
|
try {
|
|
248
286
|
const [sessions, statuses] = await Promise.all([
|
|
249
287
|
client.get("/session", undefined, directory),
|
|
250
288
|
client.get("/session/status", undefined, directory),
|
|
251
289
|
]);
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
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 = resolveSessionStatus(statuses[id]);
|
|
298
|
+
const parentTag = s.parentID ? ` (child of ${s.parentID})` : "";
|
|
299
|
+
return `- [${status}] ${title} [${id}]${parentTag}`;
|
|
300
|
+
});
|
|
301
|
+
return toolResult(`## Sessions (${sessions.length})\n${lines.join("\n")}`);
|
|
259
302
|
}
|
|
260
303
|
catch (e) {
|
|
261
304
|
return toolError(e);
|
|
@@ -264,7 +307,7 @@ export function registerWorkflowTools(server, client) {
|
|
|
264
307
|
// ─── Project context ──────────────────────────────────────────────
|
|
265
308
|
server.tool("opencode_context", "Get full project context in one call: current project, path, VCS info, config, and available agents. Useful to understand the current state before starting work.", {
|
|
266
309
|
directory: directoryParam,
|
|
267
|
-
}, async ({ directory }) => {
|
|
310
|
+
}, readOnly, async ({ directory }) => {
|
|
268
311
|
try {
|
|
269
312
|
const [project, path, vcs, config, agents] = await Promise.all([
|
|
270
313
|
client.get("/project/current", undefined, directory).catch(() => null),
|
|
@@ -275,16 +318,64 @@ export function registerWorkflowTools(server, client) {
|
|
|
275
318
|
]);
|
|
276
319
|
const sections = [];
|
|
277
320
|
if (project) {
|
|
278
|
-
|
|
321
|
+
const p = project;
|
|
322
|
+
const worktree = (p.worktree ?? "unknown");
|
|
323
|
+
const name = p.name
|
|
324
|
+
?? (worktree !== "unknown" ? worktree.split("/").filter(Boolean).pop() : null)
|
|
325
|
+
?? p.id ?? "unknown";
|
|
326
|
+
const lines = [`Name: ${name}`, `Path: ${worktree}`];
|
|
327
|
+
if (p.vcs)
|
|
328
|
+
lines.push(`VCS: ${p.vcs}`);
|
|
329
|
+
if (p.id)
|
|
330
|
+
lines.push(`ID: ${p.id}`);
|
|
331
|
+
sections.push(`## Project\n${lines.join("\n")}`);
|
|
279
332
|
}
|
|
280
333
|
if (path) {
|
|
281
|
-
|
|
334
|
+
const pp = path;
|
|
335
|
+
const workDir = pp.worktree ?? pp.directory ?? pp.cwd ?? pp.path;
|
|
336
|
+
const pathLines = [];
|
|
337
|
+
if (workDir)
|
|
338
|
+
pathLines.push(`Working directory: ${workDir}`);
|
|
339
|
+
if (pp.config && pp.config !== workDir)
|
|
340
|
+
pathLines.push(`Config: ${pp.config}`);
|
|
341
|
+
if (pp.state && pp.state !== workDir)
|
|
342
|
+
pathLines.push(`State: ${pp.state}`);
|
|
343
|
+
if (pp.home && pp.home !== workDir)
|
|
344
|
+
pathLines.push(`Home: ${pp.home}`);
|
|
345
|
+
if (pathLines.length === 0)
|
|
346
|
+
pathLines.push(`Working directory: ${JSON.stringify(pp)}`);
|
|
347
|
+
sections.push(`## Path\n${pathLines.join("\n")}`);
|
|
282
348
|
}
|
|
283
349
|
if (vcs) {
|
|
284
|
-
|
|
350
|
+
const v = vcs;
|
|
351
|
+
const lines = [];
|
|
352
|
+
if (v.branch)
|
|
353
|
+
lines.push(`Branch: ${v.branch}`);
|
|
354
|
+
if (v.remote)
|
|
355
|
+
lines.push(`Remote: ${v.remote}`);
|
|
356
|
+
if (v.sha)
|
|
357
|
+
lines.push(`HEAD: ${v.sha}`);
|
|
358
|
+
if (v.dirty !== undefined)
|
|
359
|
+
lines.push(`Dirty: ${v.dirty}`);
|
|
360
|
+
sections.push(`## VCS (Git)\n${lines.length > 0 ? lines.join("\n") : "No VCS info available."}`);
|
|
285
361
|
}
|
|
286
362
|
if (config) {
|
|
287
|
-
|
|
363
|
+
// Show config summary with secrets redacted — skip overwhelming nested objects
|
|
364
|
+
const c = redactSecrets(config);
|
|
365
|
+
const topLevel = [];
|
|
366
|
+
for (const [k, v] of Object.entries(c)) {
|
|
367
|
+
if (v && typeof v === "object" && !Array.isArray(v)) {
|
|
368
|
+
const keys = Object.keys(v);
|
|
369
|
+
topLevel.push(`${k}: {${keys.length} entries}`);
|
|
370
|
+
}
|
|
371
|
+
else if (Array.isArray(v)) {
|
|
372
|
+
topLevel.push(`${k}: [${v.length} items]`);
|
|
373
|
+
}
|
|
374
|
+
else {
|
|
375
|
+
topLevel.push(`${k}: ${v}`);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
sections.push(`## Config\n${topLevel.join("\n")}`);
|
|
288
379
|
}
|
|
289
380
|
if (agents) {
|
|
290
381
|
const agentList = agents;
|
|
@@ -297,12 +388,12 @@ export function registerWorkflowTools(server, client) {
|
|
|
297
388
|
}
|
|
298
389
|
});
|
|
299
390
|
// ─── Wait for async session to complete ───────────────────────────
|
|
300
|
-
server.tool("opencode_wait", "Poll a session until it finishes processing. Use
|
|
391
|
+
server.tool("opencode_wait", "Poll a session until it finishes processing. Use after opencode_message_send_async to wait for the AI to complete its response. Sends progress notifications while waiting. If timeout is reached, returns a progress report (not an error). For long tasks, consider using opencode_session_todo to check progress instead of blocking.", {
|
|
301
392
|
sessionId: z.string().describe("Session ID to wait on"),
|
|
302
393
|
timeoutSeconds: z
|
|
303
394
|
.number()
|
|
304
395
|
.optional()
|
|
305
|
-
.describe("Max seconds to wait (default: 120)"),
|
|
396
|
+
.describe("Max seconds to wait (default: 120). Set higher (300-600) for complex tasks."),
|
|
306
397
|
pollIntervalMs: z
|
|
307
398
|
.number()
|
|
308
399
|
.optional()
|
|
@@ -315,8 +406,8 @@ export function registerWorkflowTools(server, client) {
|
|
|
315
406
|
const start = Date.now();
|
|
316
407
|
while (Date.now() - start < timeout) {
|
|
317
408
|
const statuses = (await client.get("/session/status", undefined, directory));
|
|
318
|
-
const status = statuses[sessionId];
|
|
319
|
-
if (
|
|
409
|
+
const status = resolveSessionStatus(statuses[sessionId]);
|
|
410
|
+
if (status === "idle" || status === "completed") {
|
|
320
411
|
// Fetch latest messages
|
|
321
412
|
const messages = await client.get(`/session/${sessionId}/message`, { limit: "1" }, directory);
|
|
322
413
|
const arr = messages;
|
|
@@ -330,7 +421,8 @@ export function registerWorkflowTools(server, client) {
|
|
|
330
421
|
}
|
|
331
422
|
await new Promise((r) => setTimeout(r, interval));
|
|
332
423
|
}
|
|
333
|
-
return toolResult(`Timeout: session still processing after ${timeoutSeconds ?? 120}s
|
|
424
|
+
return toolResult(`Timeout: session still processing after ${timeoutSeconds ?? 120}s. ` +
|
|
425
|
+
`Use \`opencode_conversation\` to check progress, or \`opencode_session_abort\` to stop it.`, true);
|
|
334
426
|
}
|
|
335
427
|
catch (e) {
|
|
336
428
|
return toolError(e);
|
|
@@ -344,7 +436,7 @@ export function registerWorkflowTools(server, client) {
|
|
|
344
436
|
.optional()
|
|
345
437
|
.describe("Specific message ID to get diff for"),
|
|
346
438
|
directory: directoryParam,
|
|
347
|
-
}, async ({ sessionId, messageID, directory }) => {
|
|
439
|
+
}, readOnly, async ({ sessionId, messageID, directory }) => {
|
|
348
440
|
try {
|
|
349
441
|
const query = {};
|
|
350
442
|
if (messageID)
|
|
@@ -357,5 +449,103 @@ export function registerWorkflowTools(server, client) {
|
|
|
357
449
|
return toolError(e);
|
|
358
450
|
}
|
|
359
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
|
+
}, readOnly, 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
|
+
});
|
|
360
550
|
}
|
|
361
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.
|
|
4
|
-
"description": "MCP server that wraps the OpenCode AI headless server API —
|
|
3
|
+
"version": "1.8.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": {
|