Skip to content

feat: add browser-callable MCP tools - #315

Merged
jlitola merged 17 commits into
mainfrom
jlitola/research-webmcp-browser-adapter
Aug 27, 2026
Merged

feat: add browser-callable MCP tools#315
jlitola merged 17 commits into
mainfrom
jlitola/research-webmcp-browser-adapter

Conversation

@jlitola

@jlitola jlitola commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • publish a narrow browser-callable @githits/mcp/tools entry for the existing get_example definition
  • replace ambient async context with explicit MCP execution context and propagate caller cancellation to search
  • expose neutral service-error constructors so injected browser services preserve structured tool errors
  • validate the packed browser graph and document the frontend/package boundary

Verification

  • bun test: 3306 passed, 0 failed
  • typecheck, format, and lint
  • root and @githits/mcp builds
  • public package validation
  • source and built CLI/MCP smoke suites
  • plugin generation and validation
  • internal full-delta review and three-round Claude review loop: clean

Release impact

  • @githits/mcp: minor
  • githits: none

jlitola added 17 commits August 26, 2026 22:56
Record the merged host-boundary increment, observed verification, and current publication state before evaluating Phase 2 readiness.
Record the verified browser dependency seams, define the Phase 2 callable get_example boundary, and specify host-owned auth, terms, and cancellation behavior.
Keep the scope and dependency sections aligned with the reviewed terms-remediation contract.
Move the mapped error envelope and terms classifier out of the code-navigation mapper so service error mapping does not load code-navigation taxonomy. Preserve existing mapper re-exports and terms remediation payloads for current callers.
Replace ambient MCP error state with explicit per-call context, keep local CLI remediation compatible, and expose URL-based terms guidance to hosted callers.
Thread optional caller signals through get_example, the GitHits search service, and token-refresh retries while preserving internal timeout mapping and existing callers.
Expose a narrow browser-neutral core error entry and a validated callable get_example adapter without importing MCP server dependencies.
Add the public @githits/mcp/tools export and build entry, then validate its packed runtime, declarations, and browser dependency graph without changing existing MCP entrypoints.
Describe the scoped @githits/mcp/tools boundary, injected search service, callable WebMCP adapter, and explicit Node dependency limitations. Add durable workspace architecture guidance and the MCP release fragment.
Keep the callable tools example transport-neutral by delegating to an application-supplied search function while preserving explicit request-option and abort-signal forwarding.
Phase 2 implementation and durable documentation are complete in the CLI repository. Future WebMCP registration, authentication, API, bundler, and CORS work belongs to the app.githits.com repository and requires a fresh plan against its actual conventions.
Keep the existing public type and constant re-exports while removing duplicate local imports identified by the full Phase 2 lint pass.
Document host-owned terms recovery as an intentional surface-native exception and move MappedError ownership to the shared contract module while preserving structured parity guarantees.
Remove cancellation checks that duplicate the guarded token and operation boundaries while retaining coverage for token lookup, refresh, and retry. Record the host-aware terms remediation and caller-cancellation behavior in the pending MCP release fragment.
Route unified search and search-status terms errors through the CLI mapped-error formatter before diagnostics and output branching. Preserve the command-specific JSON envelope and cover both actions with exact regression assertions.
Publish the neutral GitHits error constructors through the callable tools entry while keeping generated declarations private-core-free. Supply host-neutral authentication remediation and extend source and packed-consumer coverage for auth, terms, rate-limit, timeout, validation, and cancellation behavior.
Record the explicit browser service-error constructors and host-neutral remediation while clarifying selected-graph browser safety and keeping a separate SDK as an open future package decision.
@jlitola jlitola added the enhancement New feature or request label Aug 26, 2026
@jlitola
jlitola marked this pull request as ready for review August 27, 2026 04:26
@jlitola
jlitola merged commit e414969 into main Aug 27, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant