opencode-mcp 1.5.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 CHANGED
@@ -5,6 +5,39 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.8.0] - 2026-02-10
9
+
10
+ ### Added
11
+
12
+ - **`instructions` field** — the MCP server now provides a comprehensive structured guide via the `instructions` option in the `McpServer` constructor. This helps LLM clients understand tool tiers (5 levels from essential to dangerous), recommended workflows, and the async `message_send_async` + `wait` pattern for long tasks.
13
+ - **Tool annotations** — all tools now carry MCP `readOnlyHint` / `destructiveHint` annotations so clients can auto-approve safe read-only operations and warn before destructive ones (e.g. `session_delete`, `instance_dispose`)
14
+ - **`opencode-best-practices` prompt** — new prompt template (6th prompt) covering setup, provider/model selection, tool selection table, prompt writing tips, monitoring, error recovery, and common pitfalls
15
+ - **Honest wake-up documentation** — `opencode_wait` description now explains that most MCP clients do NOT interrupt the LLM for log notifications, and suggests `opencode_session_todo` for monitoring very long tasks
16
+
17
+ ### Changed
18
+
19
+ - `opencode_instance_dispose` description now includes a WARNING about permanent shutdown
20
+ - Prompts: 6 (up from 5)
21
+ - Tests: 267 (up from 266)
22
+
23
+ ## [1.6.0] - 2026-02-09
24
+
25
+ ### Fixed
26
+
27
+ - **Empty message display** — `formatMessageList()` no longer shows blank output for assistant messages that performed tool calls but had no text content. It now shows concise tool action summaries like `Agent performed 3 action(s): Write: /src/App.tsx, Bash: npm install`
28
+ - **Session status `[object Object]`** — `opencode_sessions_overview` and `opencode_session_status` now correctly resolve status objects (e.g. `{ state: "running" }`) to readable strings instead of displaying `[object Object]`
29
+ - **`opencode_wait` timeout message** — now includes actionable recovery suggestions (`opencode_conversation` to check progress, `opencode_session_abort` to stop) and correctly resolves object-shaped status values during polling
30
+ - **`toolError()` contextual suggestions** — common error patterns (401/403 auth, timeout, rate limit, connection refused, session not found) now include helpful follow-up tool suggestions instead of bare error text
31
+
32
+ ### Added
33
+
34
+ - `resolveSessionStatus()` exported helper in `src/helpers.ts` — normalizes status from string, object (`{ state, status, type }`), or boolean flags into a readable string
35
+ - `summarizeToolInput()` helper — extracts the most useful arg (path, command, query, url) from tool input objects for compact display
36
+ - `extractCostMeta()` helper — extracts cost/token metadata from `step-finish` message parts
37
+ - `diagnoseError()` private helper — pattern-matches common errors and returns contextual suggestions
38
+ - 11 new tool handler tests for `opencode_sessions_overview`, `opencode_session_status`, and `opencode_wait` covering object status resolution, timeout messages, and edge cases
39
+ - Tests: 266 total (up from 255)
40
+
8
41
  ## [1.5.0] - 2026-02-09
9
42
 
10
43
  ### Added
@@ -19,7 +52,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
19
52
  - Provider configuration detection is now shared via `isProviderConfigured()` (used consistently across provider listing and setup workflows)
20
53
  - Multiple tool outputs are more token-efficient and user-friendly (compact provider list/model listing, session formatting, and warning surfacing)
21
54
  - Tool count: 75 (up from 72)
22
- - Tests: 229 total
55
+ - Tests: 255 total
23
56
 
24
57
  ### Fixed
25
58
 
package/dist/helpers.d.ts CHANGED
@@ -6,6 +6,16 @@
6
6
  * about them efficiently.
7
7
  */
8
8
  import { z } from "zod";
9
+ /** Read-only tool: does not modify state. */
10
+ export declare const readOnly: {
11
+ readonly readOnlyHint: true;
12
+ readonly destructiveHint: false;
13
+ };
14
+ /** Destructive tool: permanently deletes data or shuts down services. */
15
+ export declare const destructive: {
16
+ readonly readOnlyHint: false;
17
+ readonly destructiveHint: true;
18
+ };
9
19
  /**
10
20
  * Shared Zod parameter for project directory targeting.
11
21
  * When provided, sent as the x-opencode-directory header so the
@@ -20,6 +30,11 @@ export declare const directoryParam: z.ZodOptional<z.ZodString>;
20
30
  export declare function formatMessageResponse(response: unknown): string;
21
31
  /**
22
32
  * Format a list of messages, extracting text content from each.
33
+ *
34
+ * When the assistant message has no text content (common with some providers
35
+ * that only emit tool calls), we show a concise summary of tool actions
36
+ * instead of blank output. Cost/token metadata from step-finish parts is
37
+ * appended when available.
23
38
  */
24
39
  export declare function formatMessageList(messages: unknown[]): string;
25
40
  /**
@@ -69,6 +84,14 @@ export declare function redactSecrets(value: unknown): unknown;
69
84
  * - Everything else → not configured
70
85
  */
71
86
  export declare function isProviderConfigured(p: Record<string, unknown>): boolean;
87
+ /**
88
+ * Resolve a session status value from the OpenCode API.
89
+ *
90
+ * The API may return status as a plain string ("idle", "running") or as an
91
+ * object like `{ state: "running", ... }`. This helper normalises both forms
92
+ * into a human-readable string.
93
+ */
94
+ export declare function resolveSessionStatus(raw: unknown): string;
72
95
  /**
73
96
  * Standard tool response builder.
74
97
  */
package/dist/helpers.js CHANGED
@@ -7,6 +7,12 @@
7
7
  */
8
8
  import { z } from "zod";
9
9
  /* eslint-disable @typescript-eslint/no-explicit-any */
10
+ // ── Tool Annotations ─────────────────────────────────────────────────
11
+ // MCP spec tool annotations help clients understand tool behavior.
12
+ /** Read-only tool: does not modify state. */
13
+ export const readOnly = { readOnlyHint: true, destructiveHint: false };
14
+ /** Destructive tool: permanently deletes data or shuts down services. */
15
+ export const destructive = { readOnlyHint: false, destructiveHint: true };
10
16
  /**
11
17
  * Shared Zod parameter for project directory targeting.
12
18
  * When provided, sent as the x-opencode-directory header so the
@@ -78,6 +84,11 @@ export function formatMessageResponse(response) {
78
84
  }
79
85
  /**
80
86
  * Format a list of messages, extracting text content from each.
87
+ *
88
+ * When the assistant message has no text content (common with some providers
89
+ * that only emit tool calls), we show a concise summary of tool actions
90
+ * instead of blank output. Cost/token metadata from step-finish parts is
91
+ * appended when available.
81
92
  */
82
93
  export function formatMessageList(messages) {
83
94
  if (!messages || messages.length === 0)
@@ -90,19 +101,84 @@ export function formatMessageList(messages) {
90
101
  const parts = Array.isArray(msg?.parts) ? msg.parts : [];
91
102
  const textParts = parts
92
103
  .filter((p) => p.type === "text")
93
- .map((p) => p.text ?? p.content ?? "")
94
- .join("");
104
+ .map((p) => (p.text ?? p.content ?? "").trim())
105
+ .filter(Boolean)
106
+ .join("\n");
95
107
  const toolParts = parts.filter((p) => p.type === "tool-invocation" || p.type === "tool-result");
108
+ // Extract cost/token metadata from step-finish parts
109
+ const costMeta = extractCostMeta(parts);
96
110
  let summary = `--- Message ${i + 1} [${role}] (${id}) ---\n`;
97
- if (textParts)
111
+ if (textParts) {
98
112
  summary += textParts;
99
- if (toolParts.length > 0) {
100
- summary += `\n[${toolParts.length} tool call(s)]`;
113
+ if (toolParts.length > 0) {
114
+ summary += `\n[${toolParts.length} tool call(s)]`;
115
+ }
116
+ }
117
+ else if (toolParts.length > 0) {
118
+ // No text but agent performed actions — show concise tool summaries
119
+ const toolSummaries = toolParts.slice(0, 10).map((p) => {
120
+ const name = p.toolName ?? "unknown";
121
+ // Extract the most useful arg (file path, command, etc.)
122
+ const hint = summarizeToolInput(p.input);
123
+ const errTag = p.error ? " ERROR" : "";
124
+ return ` ${name}${hint ? `: ${hint}` : ""}${errTag}`;
125
+ });
126
+ summary += `Agent performed ${toolParts.length} action(s):\n${toolSummaries.join("\n")}`;
127
+ if (toolParts.length > 10) {
128
+ summary += `\n ... and ${toolParts.length - 10} more`;
129
+ }
101
130
  }
131
+ else {
132
+ summary += "(no content)";
133
+ }
134
+ if (costMeta)
135
+ summary += `\n${costMeta}`;
102
136
  return summary;
103
137
  })
104
138
  .join("\n\n");
105
139
  }
140
+ /**
141
+ * Extract a short hint from a tool-call input object.
142
+ * Prefers path, command, file, query — the most informative single arg.
143
+ */
144
+ function summarizeToolInput(input) {
145
+ if (!input || typeof input !== "object")
146
+ return "";
147
+ const obj = input;
148
+ // Ordered by likely usefulness
149
+ for (const key of ["path", "filePath", "file", "command", "query", "url", "pattern", "text"]) {
150
+ const val = obj[key];
151
+ if (typeof val === "string" && val.length > 0) {
152
+ return val.length > 80 ? val.slice(0, 77) + "..." : val;
153
+ }
154
+ }
155
+ return "";
156
+ }
157
+ /**
158
+ * Extract cost/token metadata from step-finish parts and return a
159
+ * compact line, or empty string if none found.
160
+ */
161
+ function extractCostMeta(parts) {
162
+ const stepFinish = parts.find((p) => p.type === "step-finish" && (p.cost != null || p.tokens));
163
+ if (!stepFinish)
164
+ return "";
165
+ const meta = [];
166
+ if (stepFinish.cost != null)
167
+ meta.push(`cost: $${Number(stepFinish.cost).toFixed(4)}`);
168
+ if (stepFinish.tokens) {
169
+ const t = stepFinish.tokens;
170
+ const tokParts = [];
171
+ if (t.input)
172
+ tokParts.push(`${t.input} in`);
173
+ if (t.output)
174
+ tokParts.push(`${t.output} out`);
175
+ if (t.reasoning)
176
+ tokParts.push(`${t.reasoning} reasoning`);
177
+ if (tokParts.length > 0)
178
+ meta.push(`tokens: ${tokParts.join(", ")}`);
179
+ }
180
+ return meta.length > 0 ? `_${meta.join(" | ")}_` : "";
181
+ }
106
182
  /**
107
183
  * Format a diff response into a readable summary.
108
184
  */
@@ -323,6 +399,35 @@ export function isProviderConfigured(p) {
323
399
  }
324
400
  return false;
325
401
  }
402
+ /**
403
+ * Resolve a session status value from the OpenCode API.
404
+ *
405
+ * The API may return status as a plain string ("idle", "running") or as an
406
+ * object like `{ state: "running", ... }`. This helper normalises both forms
407
+ * into a human-readable string.
408
+ */
409
+ export function resolveSessionStatus(raw) {
410
+ if (raw === null || raw === undefined)
411
+ return "idle";
412
+ if (typeof raw === "string")
413
+ return raw;
414
+ if (typeof raw === "object") {
415
+ const obj = raw;
416
+ // Try common property names the API might use
417
+ for (const key of ["state", "status", "type"]) {
418
+ if (typeof obj[key] === "string")
419
+ return obj[key];
420
+ }
421
+ // Last resort: check for a meaningful boolean flag
422
+ if (obj.running === true)
423
+ return "running";
424
+ if (obj.done === true)
425
+ return "completed";
426
+ if (obj.error === true)
427
+ return "error";
428
+ }
429
+ return "unknown";
430
+ }
326
431
  /**
327
432
  * Standard tool response builder.
328
433
  */
@@ -334,7 +439,39 @@ export function toolResult(text, isError = false) {
334
439
  }
335
440
  export function toolError(e) {
336
441
  const msg = e instanceof Error ? e.message : String(e);
337
- return toolResult(`Error: ${msg}`, true);
442
+ const suggestions = diagnoseError(msg);
443
+ const text = suggestions
444
+ ? `Error: ${msg}\n\n**Suggestions:**\n${suggestions}`
445
+ : `Error: ${msg}`;
446
+ return toolResult(text, true);
447
+ }
448
+ /**
449
+ * Analyze an error message and return contextual suggestions, or empty
450
+ * string if no specific advice applies. Keeps suggestions concise to
451
+ * minimise token overhead.
452
+ */
453
+ function diagnoseError(msg) {
454
+ const lower = msg.toLowerCase();
455
+ const tips = [];
456
+ if (lower.includes("api key") || lower.includes("401") || lower.includes("403") || lower.includes("unauthorized") || lower.includes("forbidden")) {
457
+ tips.push("- Check credentials with `opencode_provider_test`");
458
+ tips.push("- Set a key with `opencode_auth_set`");
459
+ }
460
+ else if (lower.includes("timeout") || lower.includes("timed out") || lower.includes("aborted")) {
461
+ tips.push("- Use `opencode_message_send_async` + `opencode_wait` for long tasks");
462
+ tips.push("- Check session progress with `opencode_conversation`");
463
+ }
464
+ else if (lower.includes("not found") && lower.includes("session")) {
465
+ tips.push("- List active sessions with `opencode_sessions_overview`");
466
+ }
467
+ else if (lower.includes("rate limit") || lower.includes("429")) {
468
+ tips.push("- Wait a moment and retry, or switch provider");
469
+ tips.push("- Try a free model: `opencode_ask` with providerID `opencode`, modelID `minimax-m2.1-free`");
470
+ }
471
+ else if (lower.includes("unreachable") || lower.includes("econnrefused") || lower.includes("fetch failed")) {
472
+ tips.push("- Is `opencode serve` running? Check with `opencode_setup`");
473
+ }
474
+ return tips.join("\n");
338
475
  }
339
476
  export function toolJson(value) {
340
477
  return toolResult(safeStringify(value));
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -50,15 +50,86 @@ const autoServe = process.env.OPENCODE_AUTO_SERVE !== "false";
50
50
  const client = new OpenCodeClient({ baseUrl, username, password });
51
51
  const server = new McpServer({
52
52
  name: "opencode-mcp",
53
- version: "1.5.0",
54
- description: "Full-featured MCP server wrapping the OpenCode AI headless HTTP server. " +
55
- "Provides 75 tools, resources, and prompts to manage sessions, send " +
56
- "prompts, search files, configure providers, control the TUI, monitor " +
57
- "events, and interact with the full OpenCode API. " +
58
- "All tools support a directory parameter for multi-project workflows. " +
59
- "Auto-detects and starts the OpenCode server if not already running. " +
60
- "Start with opencode_setup for onboarding, opencode_ask for one-shot " +
61
- "questions, or opencode_context to understand the current project.",
53
+ version: "1.8.0",
54
+ description: "MCP server wrapping the OpenCode AI coding agent. " +
55
+ "Delegates complex coding tasks (build apps, refactor, debug) to an autonomous AI agent. " +
56
+ "Start with opencode_setup, then use opencode_ask for simple tasks or opencode_message_send_async + opencode_wait for complex ones.",
57
+ }, {
58
+ instructions: [
59
+ "# OpenCode MCP Guide for LLM Clients",
60
+ "",
61
+ "You are connected to OpenCode, an autonomous AI coding agent that can build, edit, and debug software projects.",
62
+ "This server exposes ~75 tools organized into tiers. Use high-level tools first; drop to low-level only when needed.",
63
+ "",
64
+ "## Getting Started (First Time)",
65
+ "1. Call `opencode_setup` — checks server health, shows configured providers, and suggests next steps.",
66
+ "2. Call `opencode_provider_models({providerId: 'anthropic'})` — lists available models for a provider.",
67
+ "3. Pick a provider and model. IMPORTANT: Always pass `providerID` and `modelID` when sending prompts, or you may get empty responses.",
68
+ "",
69
+ "## Tool Tiers (prefer higher tiers)",
70
+ "",
71
+ "### Tier 1 — Essential (use these first)",
72
+ "- `opencode_setup` — first-time onboarding, health check (read-only)",
73
+ "- `opencode_ask` — one-shot question/task, creates session + gets response in one call. Simplest way to use OpenCode.",
74
+ "- `opencode_reply` — continue a conversation in an existing session",
75
+ "- `opencode_context` — get project info (path, git branch, config, agents) (read-only)",
76
+ "",
77
+ "### Tier 2 — Async Tasks (for complex/long work)",
78
+ "- `opencode_message_send_async` — send a task without waiting (fire-and-forget). Returns immediately.",
79
+ "- `opencode_wait` — block until a session finishes processing. Use after `opencode_message_send_async`. Sends progress notifications.",
80
+ "- `opencode_session_todo` — see the agent's internal task list for a session (read-only)",
81
+ "",
82
+ "### Tier 3 — Monitoring & Review",
83
+ "- `opencode_review_changes` — see all file diffs from a session (read-only)",
84
+ "- `opencode_conversation` — get full message history (read-only)",
85
+ "- `opencode_sessions_overview` — list all sessions with status (read-only)",
86
+ "- `opencode_provider_models` — list models for a specific provider (read-only)",
87
+ "- `opencode_status` — quick server health dashboard (read-only)",
88
+ "",
89
+ "### Tier 4 — Fine-Grained Control",
90
+ "- `opencode_session_*` — create, delete, fork, abort, share sessions",
91
+ "- `opencode_message_*` — send messages, list history, execute commands",
92
+ "- `opencode_file_*` / `opencode_find_*` — search files, read content, check VCS status",
93
+ "- `opencode_provider_*` — manage providers, auth, OAuth flows",
94
+ "",
95
+ "### Tier 5 — Specialist (rarely needed)",
96
+ "- `opencode_tui_*` — control the terminal UI (only if a TUI is running)",
97
+ "- `opencode_events_poll` — poll raw SSE events",
98
+ "- `opencode_mcp_*` — manage MCP servers inside OpenCode",
99
+ "- `opencode_instance_dispose` — shut down the server (DESTRUCTIVE!)",
100
+ "",
101
+ "## Recommended Workflows",
102
+ "",
103
+ "### Quick question or small task:",
104
+ "```",
105
+ 'opencode_ask({prompt: "How does auth work in this project?", providerID: "anthropic", modelID: "claude-sonnet-4-5"})',
106
+ "```",
107
+ "",
108
+ "### Complex multi-step task (build an app, refactor code, etc.):",
109
+ "```",
110
+ "// Step 1: Create a session",
111
+ 'opencode_session_create({title: "Build login page"})',
112
+ "// Step 2: Send the task asynchronously",
113
+ 'opencode_message_send_async({sessionId: "ses_xxx", text: "Build a React login form...", providerID: "anthropic", modelID: "claude-opus-4-6"})',
114
+ "// Step 3: Wait for completion (blocks with progress updates)",
115
+ 'opencode_wait({sessionId: "ses_xxx", timeoutSeconds: 300})',
116
+ "// Step 4: Review what was built",
117
+ 'opencode_review_changes({sessionId: "ses_xxx"})',
118
+ "```",
119
+ "",
120
+ "### Continue working on an existing session:",
121
+ "```",
122
+ 'opencode_reply({sessionId: "ses_xxx", prompt: "Now add form validation", providerID: "anthropic", modelID: "claude-sonnet-4-5"})',
123
+ "```",
124
+ "",
125
+ "## Important Notes",
126
+ "- ALWAYS specify `providerID` and `modelID` when using `opencode_ask`, `opencode_reply`, `opencode_message_send`, or `opencode_message_send_async`. Without these, the agent may return empty responses.",
127
+ "- The `directory` parameter on every tool targets a specific project. Omit it to use the server's default project.",
128
+ "- Tools marked with `readOnlyHint: true` in their annotations are safe and don't modify state.",
129
+ "- Tools marked with `destructiveHint: true` (`opencode_instance_dispose`, `opencode_session_delete`) permanently delete data — confirm with the user before calling.",
130
+ "- `opencode_wait` sends `notifications/message` progress updates while blocking. If it times out, it returns a progress report instead of failing.",
131
+ "- For very long tasks, use `opencode_message_send_async` + periodically call `opencode_session_todo` to check progress, rather than blocking with `opencode_wait`.",
132
+ ].join("\n"),
62
133
  });
63
134
  // ── Low-level API tools ─────────────────────────────────────────────
64
135
  registerGlobalTools(server, client);
@@ -94,7 +165,7 @@ async function main() {
94
165
  // Step 2: Connect the MCP transport.
95
166
  const transport = new StdioServerTransport();
96
167
  await server.connect(transport);
97
- console.error(`opencode-mcp v1.5.0 started (OpenCode server at ${baseUrl})`);
168
+ console.error(`opencode-mcp v1.8.0 started (OpenCode server at ${baseUrl})`);
98
169
  }
99
170
  main().catch((err) => {
100
171
  console.error("Fatal error starting opencode-mcp:", err);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/prompts.js CHANGED
@@ -116,6 +116,71 @@ Steps:
116
116
  },
117
117
  ],
118
118
  }));
119
+ // ─── Best Practices ─────────────────────────────────────────────────
120
+ server.prompt("opencode-best-practices", "Get best practices for using OpenCode MCP tools effectively. Covers tool selection, async workflows, provider configuration, and common pitfalls.", {}, async () => ({
121
+ messages: [
122
+ {
123
+ role: "user",
124
+ content: {
125
+ type: "text",
126
+ text: `# OpenCode MCP Best Practices
127
+
128
+ ## 1. First-Time Setup
129
+ - Always start with \`opencode_setup\` to check server health and see available providers.
130
+ - Use \`opencode_provider_models({providerId: "anthropic"})\` to see which models are available.
131
+ - Test a provider with \`opencode_provider_test({providerId: "anthropic"})\` if you're unsure it's working.
132
+
133
+ ## 2. Always Specify Provider and Model
134
+ CRITICAL: When calling \`opencode_ask\`, \`opencode_reply\`, \`opencode_message_send\`, or \`opencode_message_send_async\`, ALWAYS pass \`providerID\` and \`modelID\`. Without these, the agent may select a default model that returns empty responses.
135
+
136
+ Good: \`opencode_ask({prompt: "...", providerID: "anthropic", modelID: "claude-sonnet-4-5"})\`
137
+ Bad: \`opencode_ask({prompt: "..."})\`
138
+
139
+ ## 3. Choosing the Right Tool
140
+
141
+ | Task | Tool | Why |
142
+ |------|------|-----|
143
+ | Quick question | \`opencode_ask\` | One call, creates session + gets response |
144
+ | Multi-turn conversation | \`opencode_ask\` then \`opencode_reply\` | Builds on existing session |
145
+ | Complex build task (< 5 min) | \`opencode_ask\` with detailed prompt | Simple, blocks until done |
146
+ | Complex build task (5-10 min) | \`opencode_message_send_async\` + \`opencode_wait\` | Better timeout control |
147
+ | Very long task (10+ min) | \`opencode_message_send_async\` + periodic \`opencode_session_todo\` | Non-blocking progress checks |
148
+
149
+ ## 4. Writing Good Prompts for OpenCode
150
+ The agent works best with structured, specific prompts:
151
+ - Specify the tech stack explicitly
152
+ - List all features/requirements as bullet points
153
+ - Define the project structure you want
154
+ - State what tests you expect
155
+ - Say "Run npm run build and fix any errors" at the end
156
+
157
+ ## 5. Monitoring Long-Running Tasks
158
+ - \`opencode_session_todo\` — see the agent's internal checklist (cheapest check)
159
+ - \`opencode_wait\` — block until done, but has a timeout
160
+ - \`opencode_conversation\` — see full message history (expensive, lots of tokens)
161
+ - \`opencode_review_changes\` — see all file diffs (use after task completes)
162
+
163
+ ## 6. Error Recovery
164
+ - If a session fails, use \`opencode_reply\` to give the agent the error and ask it to fix
165
+ - If the server is unreachable, call \`opencode_setup\` to diagnose
166
+ - If auth fails, use \`opencode_auth_set\` to update API keys
167
+ - If a session is stuck, use \`opencode_session_abort\` then retry
168
+
169
+ ## 7. Tool Annotations
170
+ Tools are annotated with behavior hints:
171
+ - \`readOnlyHint: true\` — safe, doesn't change anything (setup, status, find, review)
172
+ - \`destructiveHint: true\` — permanently deletes data (session_delete, instance_dispose)
173
+ - No annotation — has side effects but is not destructive (ask, reply, send messages)
174
+
175
+ ## 8. Common Pitfalls
176
+ - Don't call \`opencode_conversation\` on active sessions — it's expensive and the response is still being generated
177
+ - Don't create new sessions for each message — use \`opencode_reply\` to continue existing ones
178
+ - Don't forget the \`directory\` parameter when working with multiple projects
179
+ - Don't call \`opencode_instance_dispose\` unless you really want to shut down the server`,
180
+ },
181
+ },
182
+ ],
183
+ }));
119
184
  // ─── Session Summary ──────────────────────────────────────────────
120
185
  server.prompt("opencode-session-summary", "Summarize what happened in an OpenCode session", {
121
186
  sessionId: z.string().describe("Session ID to summarize"),
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { z } from "zod";
2
- import { toolJson, toolError, toolResult, directoryParam } from "../helpers.js";
2
+ import { toolJson, toolError, toolResult, directoryParam, readOnly } from "../helpers.js";
3
3
  export function registerFileTools(server, client) {
4
4
  server.tool("opencode_find_text", "Search for text patterns in project files (regex supported). Returns file paths, line numbers, and matching lines.", {
5
5
  pattern: z
6
6
  .string()
7
7
  .describe("Text or regex pattern to search for in files"),
8
8
  directory: directoryParam,
9
- }, async ({ pattern, directory }) => {
9
+ }, readOnly, async ({ pattern, directory }) => {
10
10
  try {
11
11
  const raw = await client.get("/find", { pattern }, directory);
12
12
  const results = Array.isArray(raw) ? raw : [];
@@ -49,7 +49,7 @@ export function registerFileTools(server, client) {
49
49
  .optional()
50
50
  .describe("Max number of results (1-200)"),
51
51
  directory: directoryParam,
52
- }, async ({ query, type, searchDirectory, limit, directory }) => {
52
+ }, readOnly, async ({ query, type, searchDirectory, limit, directory }) => {
53
53
  try {
54
54
  const q = { query };
55
55
  if (type)
@@ -71,7 +71,7 @@ export function registerFileTools(server, client) {
71
71
  server.tool("opencode_find_symbol", "Find workspace symbols by name (functions, classes, variables, etc.)", {
72
72
  query: z.string().describe("Symbol name to search for"),
73
73
  directory: directoryParam,
74
- }, async ({ query, directory }) => {
74
+ }, readOnly, async ({ query, directory }) => {
75
75
  try {
76
76
  const raw = await client.get("/find/symbol", { query }, directory);
77
77
  const symbols = Array.isArray(raw) ? raw : [];
@@ -98,7 +98,7 @@ export function registerFileTools(server, client) {
98
98
  .optional()
99
99
  .describe("Path to list (defaults to project root)"),
100
100
  directory: directoryParam,
101
- }, async ({ path, directory }) => {
101
+ }, readOnly, async ({ path, directory }) => {
102
102
  try {
103
103
  const q = { path: path || "." };
104
104
  const nodes = (await client.get("/file", q, directory));
@@ -118,7 +118,7 @@ export function registerFileTools(server, client) {
118
118
  server.tool("opencode_file_read", "Read the content of a file", {
119
119
  path: z.string().describe("File path to read"),
120
120
  directory: directoryParam,
121
- }, async ({ path, directory }) => {
121
+ }, readOnly, async ({ path, directory }) => {
122
122
  try {
123
123
  const result = (await client.get("/file/content", { path }, directory));
124
124
  if (typeof result.content === "string") {
@@ -132,7 +132,7 @@ export function registerFileTools(server, client) {
132
132
  });
133
133
  server.tool("opencode_file_status", "Get status for tracked files (VCS changes: modified, added, deleted, etc.)", {
134
134
  directory: directoryParam,
135
- }, async ({ directory }) => {
135
+ }, readOnly, async ({ directory }) => {
136
136
  try {
137
137
  const files = (await client.get("/file/status", undefined, directory));
138
138
  if (!files || files.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/tools/file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/tools/file.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { toolResult, toolError, directoryParam } from "../helpers.js";
1
+ import { toolResult, toolError, directoryParam, readOnly } from "../helpers.js";
2
2
  export function registerGlobalTools(server, client) {
3
3
  server.tool("opencode_health", "Check server health and version", {
4
4
  directory: directoryParam,
5
- }, async ({ directory }) => {
5
+ }, readOnly, async ({ directory }) => {
6
6
  try {
7
7
  const raw = await client.get("/global/health", undefined, directory);
8
8
  const status = raw.healthy ? "healthy" : "unhealthy";
@@ -1 +1 @@
1
- {"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/tools/global.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEtE,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAsB;IAC3E,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,iCAAiC,EACjC;QACE,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,EAAE,SAAS,CAA4B,CAAC;YAChG,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;YACrD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;YACzC,OAAO,UAAU,CAAC,WAAW,MAAM,cAAc,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/tools/global.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEhF,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAsB;IAC3E,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,iCAAiC,EACjC;QACE,SAAS,EAAE,cAAc;KAC1B,EACD,QAAQ,EACR,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,EAAE,SAAS,CAA4B,CAAC;YAChG,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;YACrD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;YACzC,OAAO,UAAU,CAAC,WAAW,MAAM,cAAc,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { toolJson, toolError, toolResult, directoryParam } from "../helpers.js";
2
+ import { toolJson, toolError, toolResult, directoryParam, destructive } from "../helpers.js";
3
3
  export function registerMiscTools(server, client) {
4
4
  // --- Path & VCS ---
5
5
  server.tool("opencode_path_get", "Get the current working path of the opencode server", {
@@ -71,9 +71,9 @@ export function registerMiscTools(server, client) {
71
71
  }
72
72
  });
73
73
  // --- Instance ---
74
- server.tool("opencode_instance_dispose", "Dispose the current opencode instance (shuts it down)", {
74
+ server.tool("opencode_instance_dispose", "Dispose the current opencode instance (shuts it down). WARNING: This is destructive and will terminate the server.", {
75
75
  directory: directoryParam,
76
- }, async ({ directory }) => {
76
+ }, destructive, async ({ directory }) => {
77
77
  try {
78
78
  await client.post("/instance/dispose", undefined, { directory });
79
79
  return toolResult("Instance disposed.");
@@ -1 +1 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/tools/misc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/tools/misc.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { toolError, formatSessionList, formatDiffResponse, toolResult, directoryParam } from "../helpers.js";
2
+ import { toolError, formatSessionList, formatDiffResponse, resolveSessionStatus, toolResult, directoryParam, destructive, readOnly } from "../helpers.js";
3
3
  /** Format a single session object into a compact human-readable summary. */
4
4
  function formatSession(raw) {
5
5
  const s = raw;
@@ -48,7 +48,7 @@ function formatSession(raw) {
48
48
  export function registerSessionTools(server, client) {
49
49
  server.tool("opencode_session_list", "List all sessions", {
50
50
  directory: directoryParam,
51
- }, async ({ directory }) => {
51
+ }, readOnly, async ({ directory }) => {
52
52
  try {
53
53
  const sessions = (await client.get("/session", undefined, directory));
54
54
  return toolResult(formatSessionList(sessions));
@@ -78,7 +78,7 @@ export function registerSessionTools(server, client) {
78
78
  server.tool("opencode_session_get", "Get details of a specific session by ID", {
79
79
  id: z.string().describe("Session ID"),
80
80
  directory: directoryParam,
81
- }, async ({ id, directory }) => {
81
+ }, readOnly, async ({ id, directory }) => {
82
82
  try {
83
83
  const session = await client.get(`/session/${id}`, undefined, directory);
84
84
  return toolResult(formatSession(session));
@@ -90,7 +90,7 @@ export function registerSessionTools(server, client) {
90
90
  server.tool("opencode_session_delete", "Delete a session and all its data", {
91
91
  id: z.string().describe("Session ID to delete"),
92
92
  directory: directoryParam,
93
- }, async ({ id, directory }) => {
93
+ }, destructive, async ({ id, directory }) => {
94
94
  try {
95
95
  await client.delete(`/session/${id}`, undefined, directory);
96
96
  return toolResult(`Session ${id} deleted.`);
@@ -118,7 +118,7 @@ export function registerSessionTools(server, client) {
118
118
  server.tool("opencode_session_children", "Get child sessions of a session", {
119
119
  id: z.string().describe("Parent session ID"),
120
120
  directory: directoryParam,
121
- }, async ({ id, directory }) => {
121
+ }, readOnly, async ({ id, directory }) => {
122
122
  try {
123
123
  const children = (await client.get(`/session/${id}/children`, undefined, directory));
124
124
  if (!children || !Array.isArray(children) || children.length === 0) {
@@ -132,7 +132,7 @@ export function registerSessionTools(server, client) {
132
132
  });
133
133
  server.tool("opencode_session_status", "Get status for all sessions (running, idle, etc.)", {
134
134
  directory: directoryParam,
135
- }, async ({ directory }) => {
135
+ }, readOnly, async ({ directory }) => {
136
136
  try {
137
137
  const raw = await client.get("/session/status", undefined, directory);
138
138
  const statuses = raw && typeof raw === "object" && !Array.isArray(raw)
@@ -142,7 +142,7 @@ export function registerSessionTools(server, client) {
142
142
  if (entries.length === 0) {
143
143
  return toolResult("All sessions idle.");
144
144
  }
145
- const lines = entries.map(([id, status]) => `- ${id}: ${status ?? "idle"}`);
145
+ const lines = entries.map(([id, status]) => `- ${id}: ${resolveSessionStatus(status)}`);
146
146
  return toolResult(`## Session Status (${entries.length})\n${lines.join("\n")}`);
147
147
  }
148
148
  catch (e) {
@@ -152,7 +152,7 @@ export function registerSessionTools(server, client) {
152
152
  server.tool("opencode_session_todo", "Get the todo list for a session", {
153
153
  id: z.string().describe("Session ID"),
154
154
  directory: directoryParam,
155
- }, async ({ id, directory }) => {
155
+ }, readOnly, async ({ id, directory }) => {
156
156
  try {
157
157
  const raw = await client.get(`/session/${id}/todo`, undefined, directory);
158
158
  const todos = Array.isArray(raw) ? raw : [];
@@ -325,7 +325,7 @@ export function registerSessionTools(server, client) {
325
325
  server.tool("opencode_session_search", "Search sessions by keyword in title. Useful for finding a specific session among many.", {
326
326
  query: z.string().describe("Search keyword (case-insensitive match on session title)"),
327
327
  directory: directoryParam,
328
- }, async ({ query, directory }) => {
328
+ }, readOnly, async ({ query, directory }) => {
329
329
  try {
330
330
  const sessions = (await client.get("/session", undefined, directory));
331
331
  if (!sessions || sessions.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"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"}
@@ -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, analyzeMessageResponse, isProviderConfigured, redactSecrets, toolResult, toolError, directoryParam, } from "../helpers.js";
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
@@ -265,7 +265,7 @@ export function registerWorkflowTools(server, client) {
265
265
  .optional()
266
266
  .describe("Max messages to return (default: all)"),
267
267
  directory: directoryParam,
268
- }, async ({ sessionId, limit, directory }) => {
268
+ }, readOnly, async ({ sessionId, limit, directory }) => {
269
269
  try {
270
270
  const query = {};
271
271
  if (limit !== undefined)
@@ -281,7 +281,7 @@ export function registerWorkflowTools(server, client) {
281
281
  // ─── Quick session overview ────────────────────────────────────────
282
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.", {
283
283
  directory: directoryParam,
284
- }, async ({ directory }) => {
284
+ }, readOnly, async ({ directory }) => {
285
285
  try {
286
286
  const [sessions, statuses] = await Promise.all([
287
287
  client.get("/session", undefined, directory),
@@ -294,10 +294,9 @@ export function registerWorkflowTools(server, client) {
294
294
  const lines = sessions.map((s) => {
295
295
  const id = s.id ?? "?";
296
296
  const title = s.title ?? "(untitled)";
297
- const status = (statuses[id] ?? "idle");
298
- const createdAt = s.createdAt ? ` | created ${s.createdAt}` : "";
297
+ const status = resolveSessionStatus(statuses[id]);
299
298
  const parentTag = s.parentID ? ` (child of ${s.parentID})` : "";
300
- return `- [${status}] ${title} [${id}]${parentTag}${createdAt}`;
299
+ return `- [${status}] ${title} [${id}]${parentTag}`;
301
300
  });
302
301
  return toolResult(`## Sessions (${sessions.length})\n${lines.join("\n")}`);
303
302
  }
@@ -308,7 +307,7 @@ export function registerWorkflowTools(server, client) {
308
307
  // ─── Project context ──────────────────────────────────────────────
309
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.", {
310
309
  directory: directoryParam,
311
- }, async ({ directory }) => {
310
+ }, readOnly, async ({ directory }) => {
312
311
  try {
313
312
  const [project, path, vcs, config, agents] = await Promise.all([
314
313
  client.get("/project/current", undefined, directory).catch(() => null),
@@ -389,12 +388,12 @@ export function registerWorkflowTools(server, client) {
389
388
  }
390
389
  });
391
390
  // ─── Wait for async session to complete ───────────────────────────
392
- server.tool("opencode_wait", "Poll a session until it finishes processing. Use this after opencode_message_send_async to wait for the AI to complete its response.", {
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.", {
393
392
  sessionId: z.string().describe("Session ID to wait on"),
394
393
  timeoutSeconds: z
395
394
  .number()
396
395
  .optional()
397
- .describe("Max seconds to wait (default: 120)"),
396
+ .describe("Max seconds to wait (default: 120). Set higher (300-600) for complex tasks."),
398
397
  pollIntervalMs: z
399
398
  .number()
400
399
  .optional()
@@ -407,8 +406,8 @@ export function registerWorkflowTools(server, client) {
407
406
  const start = Date.now();
408
407
  while (Date.now() - start < timeout) {
409
408
  const statuses = (await client.get("/session/status", undefined, directory));
410
- const status = statuses[sessionId];
411
- if (!status || status === "idle" || status === "completed") {
409
+ const status = resolveSessionStatus(statuses[sessionId]);
410
+ if (status === "idle" || status === "completed") {
412
411
  // Fetch latest messages
413
412
  const messages = await client.get(`/session/${sessionId}/message`, { limit: "1" }, directory);
414
413
  const arr = messages;
@@ -422,7 +421,8 @@ export function registerWorkflowTools(server, client) {
422
421
  }
423
422
  await new Promise((r) => setTimeout(r, interval));
424
423
  }
425
- return toolResult(`Timeout: session still processing after ${timeoutSeconds ?? 120}s`, true);
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);
426
426
  }
427
427
  catch (e) {
428
428
  return toolError(e);
@@ -436,7 +436,7 @@ export function registerWorkflowTools(server, client) {
436
436
  .optional()
437
437
  .describe("Specific message ID to get diff for"),
438
438
  directory: directoryParam,
439
- }, async ({ sessionId, messageID, directory }) => {
439
+ }, readOnly, async ({ sessionId, messageID, directory }) => {
440
440
  try {
441
441
  const query = {};
442
442
  if (messageID)
@@ -503,7 +503,7 @@ export function registerWorkflowTools(server, client) {
503
503
  // ─── Quick status dashboard ───────────────────────────────────────
504
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
505
  directory: directoryParam,
506
- }, async ({ directory }) => {
506
+ }, readOnly, async ({ directory }) => {
507
507
  try {
508
508
  const [health, providerRaw, sessions, vcs] = await Promise.all([
509
509
  client.get("/global/health", undefined, directory).catch(() => null),
@@ -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,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-mcp",
3
- "version": "1.5.0",
3
+ "version": "1.8.0",
4
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",