A framework for registering and exposing browser-side tools for AI agents via Model Context Protocol. Provides SDK, build plugins (Vite/Webpack), and core type extraction for TypeScript tool definitions.
WebMCP Nexus is a React SDK for registering browser-side functions as tools, not an MCP server. The three 'tools' are actually React integration patterns (hooks/HOCs), not callable MCP tools. No tool definitions are registered with the MCP protocol. Tool names lack action verbs (registerGlobalTools, useWebMcpTools, withWebMcpTools are library functions, not domain tools). Descriptions are present but describe React lifecycle behavior, not tool semantics. Input schemas exist but are incomplete: toolMaps lacks item type definitions, WrappedComponent lacks property schema. No output schemas documented. No error handling guidance. This is a build-time SDK, not a runtime MCP server exposing callable tools to agents.
Global registration of WebMCP tools. Called once at application startup. Supports variadic parameters for batch importing tool modules.
React Hook to register functions as WebMCP tools bound to component lifecycle. Automatically registers on mount and unregisters on unmount. Uses useRef to hold latest function references and avoids closure traps.
Higher-order component to register class component methods as WebMCP tools. Supports both prototype methods and class field arrow functions. Automatically registers on mount and unregisters on unmount.
Not an MCP server. WebMCP Nexus is a React SDK for tool registration, not a Model Context Protocol server. It provides no remote tool exposure, no protocol transport, and no agent-callable interface. The three 'tools' are library functions for React integration, not MCP tool definitions.
Tool names lack action verbs. Names like 'registerGlobalTools', 'useWebMcpTools', 'withWebMcpTools' describe React patterns, not domain actions. LLMs expect verb_noun naming (get_, create_, update_, search_) to infer intent. These names are library-centric, not agent-centric.
Input schemas incomplete. 'toolMaps' array lacks item type definition (should specify Record<string, Function> structure). 'WrappedComponent' object lacks property schema. Parameters lack constraints, ranges, or validation rules.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 25 | 2026-07-28+ | v2 |
No output schemas documented. Callers cannot know what these functions return or how to use return values in downstream operations. No structured response definition.
No error handling guidance. Descriptions do not explain failure modes, recovery steps, or what to do if tool registration fails. No error classification (retryable vs fatal).