bambu-studio-ai
Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...
This skill should be used when browsing or automating web pages that expose tools via the WebMCP API (window.navigator.modelContext). It teaches agents how to discover, inspect, and invoke WebMCP tools on websites instead of relying on DOM scraping or UI actuation.
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
SkillHub CLI
skillhub install brunobuddy/webmcpInspect the source and compatibility requirements, then follow its installation steps.
Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.
WebMCP is a browser API that lets websites expose JavaScript functions as structured tools for AI agents. Pages register tools via window.navigator.modelContext, each with a name, description, JSON Schema input, and an execute callback. Think of it as an MCP server running inside the web page itself.
Spec: https://github.com/webmachinelearning/webmcp
Before interacting with tools, check whether the current page supports WebMCP:
const supported = "modelContext" in window.navigator;
If false, the page does not expose WebMCP tools — fall back to DOM interaction or actuation.
Tools are registered by the page via provideContext() or registerTool(). The browser mediates access. To list available tools from an agent's perspective, evaluate:
// Browser-specific — the exact discovery API depends on the agent runtime.
// Typically the browser exposes registered tools to connected agents automatically.
// From page-script perspective, tools are registered like this:
window.navigator.modelContext.provideContext({
tools: [
{
name: "tool-name",
description: "What this tool does",
inputSchema: { type: "object", properties: { /* ... */ }, required: [] },
execute: (params, agent) => { /* ... */ }
}
]
});
Key points:
name, description, inputSchema (JSON Schema), and execute.provideContext() replaces all previously registered tools (useful for SPA state changes).registerTool() / unregisterTool() add/remove individual tools without resetting.Tool input schemas follow JSON Schema (aligned with MCP SDK and Prompt API tool use):
{
name: "add-stamp",
description: "Add a new stamp to the collection",
inputSchema: {
type: "o...
These signals come from indexed source analysis and may lag behind changes. Check the current source files.
# WebMCP — Discover and Use Website Tools
## What is WebMCP
WebMCP is a browser API that lets websites expose JavaScript functions as structured tools for AI agents. Pages register tools via `window.navigator.modelContext`, each with a name, description, JSON Schema input, and an `execute` callback. Think of it as an MCP server running inside the web page itself.
Spec: https://github.com/webmachinelearning/webmcp
## Detecting WebMCP Support
Before interacting with tools, check whether the current page supports WebMCP:
```js
const supported = "modelContext" in window.navigator;
```
If `false`, the page does not expose WebMCP tools — fall back to DOM interaction or actuation.
## Discovering Available Tools
Tools are registered by the page via `provideContext()` or `registerTool()`. The browser mediates access. To list available tools from an agent's perspective, evaluate:
```js
// Browser-specific — the exact discovery API depends on the agent runtime.
// Typically the browser exposes registered tools to connected agents automatically.
// From page-script perspective, tools are registered like this:
window.navigator.modelContext.provideContext({
tools: [
{
name: "tool-name",
description: "What this tool does",
inputSchema: { type: "object", properties: { /* ... */ }, required: [] },
execute: (params, agent) => { /* ... */ }
}
]
});
```
Key points:
- Each tool has `name`, `description`, `inputSchema` (JSON Schema), and `execute`.
- `provideContext()` replaces all previously registered tools (useful for SPA state changes).
- `registerTool()` / `unregisterTool()` add/remove individual tools without resetting.
- Tools may change as the user navigates or as SPA state updates — re-check after page transitions.
## Tool Schema Format
Tool input schemas follow JSON Schema (aligned with MCP SDK and Prompt API tool use):
```js
{
name: "add-stamp",
description: "Add a new stamp to the collection",
inputSchema: {
type: "o...Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...
Search and hire real humans for tasks — photography, delivery, research, and more
Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...
Reusable skill templates for OpenClaw AI agents. Templates for API integration, data processing, web scraping, CLI tools, and file processing.