This is a Developer Resource for building Chrome extensions with WebMCP. If you’re looking to use the MCP-B Extension, see the Extension Overview.
Overview
The@mcp-b/extension-tools package provides Model Context Protocol (MCP) wrappers for Chrome Extension APIs. It enables standardized, protocol-based access to browser extension functionalities, allowing MCP clients to interact with Chrome’s extensive API surface.
Prerequisites
- Chrome Extension with Manifest V3
- @mcp-b/transports package installed
- @modelcontextprotocol/sdk installed
- Required Chrome permissions in manifest.json
- TypeScript 5.0+ (recommended)
- Understanding of Chrome Extension APIs and MCP protocol
Installation
Key Features
- MCP wrappers for 62+ Chrome Extension APIs
- Full TypeScript support with comprehensive type definitions
- Zod-based input validation and schema generation
- Structured error handling and response formatting
- Compatible with Manifest V3 extensions
Architecture
The package wraps Chrome Extension APIs into MCP-compatible tools, enabling remote procedure calls through the MCP protocol. Each Chrome API is wrapped in its own tools class that extendsBaseApiTools.
Basic Usage
Setting Up in Background Script
Client-Side Usage
Available API Wrappers
Core Browser APIs
TabsApiTools
WindowsApiTools
StorageApiTools
Content & Scripting APIs
ScriptingApiTools
Data Management APIs
BookmarksApiTools
HistoryApiTools
DownloadsApiTools
System APIs
SystemApiTools
Real-World Example: Extension Connector
From the extension-connector example:Tool Registration Options
Each API tools class accepts configuration options to control which tools are registered:Input Validation
All tools use Zod schemas for input validation:Error Handling
The package provides structured error responses:Security Considerations
Manifest Permissions
Ensure your extension manifest includes required permissions:Tool Access Control
Control which tools are exposed:Complete API List
The package provides wrappers for 62+ Chrome APIs including:- Browser Control: tabs, windows, browserAction, pageAction
- Storage: storage, cookies, sessions
- Content: bookmarks, history, downloads, topSites
- Communication: runtime, messaging, notifications
- DevTools: debugger, devtools
- System: system.cpu, system.memory, system.storage, system.display
- Identity: identity, oauth2
- Enterprise: enterprise.platformKeys, enterprise.deviceAttributes
- Privacy: privacy, contentSettings
- Network: proxy, vpnProvider, webRequest
- Management: management, permissions, commands
TypeScript Support
Full TypeScript definitions are provided:Related Documentation
@mcp-b/transports
Extension transport layer
Extension Guide
MCP-B browser extension
Core Concepts
Extension architecture
Security Guide
Extension security best practices
- Advanced Patterns - Extension development patterns
- Troubleshooting - Extension-specific issues
- Glossary - Extension terminology
External Resources
- @modelcontextprotocol/sdk - Core MCP SDK
- Extension Connector Example - Working example
- Chrome Extension API Reference - Official Chrome docs
- MCP Protocol Specification - Protocol details
- GitHub Repository - Source code
