Skip to content

Releases: enihcam/opencode-webmcp

v0.3.0 — GitHub Packages, Discoverability, README Quick Start

Choose a tag to compare

@enihcam enihcam released this 06 Jul 04:08

What changed

  • Package scoped — renamed to @enihcam/webmcp-bridge for GitHub Packages
  • Publish workflow — automated npm publish to GitHub Packages on every version tag
  • Discoverability — added 10 GitHub Topics + npm keywords + keyword-rich description
  • README Quick Start — walkthrough for using the bridge with OpenCode
  • v0.2.0 fixpackage.json version now matches the tag correctly

v0.2.0 — Architecture Refactor, Examples & Triage Pipeline

Choose a tag to compare

@enihcam enihcam released this 06 Jul 02:50

Changes since v0.1.0

Features

  • AI triage pipeline — labels (needs-triage, needs-info, ready-for-agent, ready-for-human, wontfix), triage.yml workflow + scripts/triage.js
  • Usage examples — 6 new files under examples/: imperative-tools.html, annotation-demo.html, mixed-dashboard.html, GETTING_STARTED.md, MULTI_TAB_SCENARIOS.md, README.md (938 lines total)
  • Quick Start (OpenCode) section in README — natural-language usage instructions

Refactors

  • Config extraction (Candidate 1) — pure functions, DEFAULTS, BRIDGE_TOOLS, CLI parsing extracted to lib/config.mjs; server.js 1213→945 lines; tests expanded from 36→39, all pass
  • Dispatch table (Candidate 2) — 310-line switch replaced with BRIDGE_HANDLERS object map + 12 named handler functions + ok/err helpers + refreshTabTools middleware; server.js 945→888 lines, 0 switch cases remaining

Other

  • Fix: import crypto from 'node:crypto' for Node 18 compatibility
  • build(deps): bump actions/checkout 4→7, setup-node 4→6, codeql-action 3→4, puppeteer-core ^24.43.1→^25.3.0
  • ci: GitHub Actions CI, CodeQL, Dependabot, Robin workflows

v0.1.0 — Initial Release

Choose a tag to compare

@enihcam enihcam released this 06 Jul 01:53

What is this?

Single-file ESM MCP server that bridges MCP clients (OpenCode, Claude Code) to Chromium's WebMCP API. Connects via Puppeteer + CDP, discovers tools registered via document.modelContext on the page, and exposes them as MCP tools.

Features

  • 5 bridge-native tools: webmcp_navigate, webmcp_status, webmcp_evaluate, webmcp_invoke_tool, webmcp_register_test_tools
  • Page-discovered WebMCP tools served alongside bridge tools
  • Multi-tab support (webmcp_navigate with tabId) – parallel page contexts
  • Declarative WebMCP API (webmcp_invoke_tool with declarative schema) – discover and invoke tools by specification
  • Tool annotations (deprecation, experimental, requirePage) surfaced in tools/list_changed
  • Monkey-patch: works around Chrome 150+ invokeTool() returning {}
  • Auto-recovery: detached-frame errors re-create the page automatically
  • notifications/tools/list_changed sent on navigation and tool registration changes

Test Suite

36 pure-function tests covering config loading, CLI parsing, history tracking, tab ID generation, and BRIDGE_TOOLS validation — zero Chrome required.

node test/unit.mjs

Requirements

  • Node 18+
  • Chrome/Chromium 150+ with --enable-features=WebMCPTesting,DevToolsWebMCPSupport

Links