{"adoption": {"forks": 214, "observed_at": "2026-08-28T04:07:50.515871+00:00", "stars": 3290}, "canonical_url": "https://ross.abutalabs.com/products/webmcp", "card": {"archived": false, "artifact_type": "library", "description": "🤖 WebMCP", "domain": ["artificial-intelligence", "web-development", "browser-extensions", "large-language-models"], "enriched": true, "function": ["mcp", "agent-framework", "sdk", "api-framework"], "health_score": 80, "homepage": "https://webmachinelearning.github.io/webmcp/", "language": "Bikeshed", "license": "NOASSERTION", "license_family": "other", "maturity": "experimental", "member_repos": ["webmachinelearning/webmcp"], "name": "webmachinelearning/webmcp", "platform": ["browser", "browser-extension"], "pushed_at": "2026-08-26T20:23:24+00:00", "repo": "webmachinelearning/webmcp", "stars": 3290, "tags": ["web-standards", "client-side-tools", "w3c-specification", "ai-agents", "model-context-protocol", "browser-api", "web-server", "javascript"], "topics": [], "urls": [], "use_cases": ["expose web app functionality as tools for AI agents", "let browser AI assistants interact with my web page", "make my website controllable by LLM agents", "build client-side MCP tools without a backend server", "enable AI agents to fill forms and actuate web UI", "share user session context with in-browser agents"], "what_it_is": "WebMCP is a proposed web platform API (W3C Community Group specification) that lets web developers expose JavaScript functions or HTML forms as structured 'tools' with natural language descriptions for AI agents to invoke. It acts like a Model Context Protocol server implemented in client-side browser script, enabling agents to actuate web applications while preserving shared UI context.", "when_to_avoid": ["you need server-to-server tool integrations with AI platforms like ChatGPT or Claude", "you need a stable, widely-supported standard today - browser support is still limited", "your app has no meaningful client-side functionality to expose"], "when_to_choose": ["you want AI agents to interact with your web app's client-side logic and UI", "you want to avoid building backend tool integrations and replicating auth/state server-side", "you want cooperative user-agent workflows within your existing web interface"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/webmcp", "repo": "webmachinelearning/webmcp", "role": "main", "score": 62}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.515871+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.026167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "95a9516e9ca82f060577b28936d9a9f778915a1d6fe09431a17c9c33730bc8d0", "fetched_at": "2026-08-28T04:07:50.515871+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webmachinelearning/webmcp"}, {"content_hash": "823d9fbbbb1368e6d3ef1ea33d0a11b6c99317cdb6a8147a949b4b5aef10c0cd", "fetched_at": "2026-08-29T09:35:45.210357+00:00", "kind": "homepage", "missing": false, "url": "https://webmachinelearning.github.io/webmcp/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.515871+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.026167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "95a9516e9ca82f060577b28936d9a9f778915a1d6fe09431a17c9c33730bc8d0", "fetched_at": "2026-08-28T04:07:50.515871+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webmachinelearning/webmcp"}, {"content_hash": "823d9fbbbb1368e6d3ef1ea33d0a11b6c99317cdb6a8147a949b4b5aef10c0cd", "fetched_at": "2026-08-29T09:35:45.210357+00:00", "kind": "homepage", "missing": false, "url": "https://webmachinelearning.github.io/webmcp/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.026167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "95a9516e9ca82f060577b28936d9a9f778915a1d6fe09431a17c9c33730bc8d0", "fetched_at": "2026-08-28T04:07:50.515871+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webmachinelearning/webmcp"}, {"content_hash": "823d9fbbbb1368e6d3ef1ea33d0a11b6c99317cdb6a8147a949b4b5aef10c0cd", "fetched_at": "2026-08-29T09:35:45.210357+00:00", "kind": "homepage", "missing": false, "url": "https://webmachinelearning.github.io/webmcp/"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.515871+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.515871+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.515871+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.026167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "95a9516e9ca82f060577b28936d9a9f778915a1d6fe09431a17c9c33730bc8d0", "fetched_at": "2026-08-28T04:07:50.515871+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webmachinelearning/webmcp"}, {"content_hash": "823d9fbbbb1368e6d3ef1ea33d0a11b6c99317cdb6a8147a949b4b5aef10c0cd", "fetched_at": "2026-08-29T09:35:45.210357+00:00", "kind": "homepage", "missing": false, "url": "https://webmachinelearning.github.io/webmcp/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.515871+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.515871+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.026167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "95a9516e9ca82f060577b28936d9a9f778915a1d6fe09431a17c9c33730bc8d0", "fetched_at": "2026-08-28T04:07:50.515871+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webmachinelearning/webmcp"}, {"content_hash": "823d9fbbbb1368e6d3ef1ea33d0a11b6c99317cdb6a8147a949b4b5aef10c0cd", "fetched_at": "2026-08-29T09:35:45.210357+00:00", "kind": "homepage", "missing": false, "url": "https://webmachinelearning.github.io/webmcp/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.515871+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.515871+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.515871+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.026167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "95a9516e9ca82f060577b28936d9a9f778915a1d6fe09431a17c9c33730bc8d0", "fetched_at": "2026-08-28T04:07:50.515871+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webmachinelearning/webmcp"}, {"content_hash": "823d9fbbbb1368e6d3ef1ea33d0a11b6c99317cdb6a8147a949b4b5aef10c0cd", "fetched_at": "2026-08-29T09:35:45.210357+00:00", "kind": "homepage", "missing": false, "url": "https://webmachinelearning.github.io/webmcp/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.515871+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.515871+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.026167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "95a9516e9ca82f060577b28936d9a9f778915a1d6fe09431a17c9c33730bc8d0", "fetched_at": "2026-08-28T04:07:50.515871+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webmachinelearning/webmcp"}, {"content_hash": "823d9fbbbb1368e6d3ef1ea33d0a11b6c99317cdb6a8147a949b4b5aef10c0cd", "fetched_at": "2026-08-29T09:35:45.210357+00:00", "kind": "homepage", "missing": false, "url": "https://webmachinelearning.github.io/webmcp/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.026167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "95a9516e9ca82f060577b28936d9a9f778915a1d6fe09431a17c9c33730bc8d0", "fetched_at": "2026-08-28T04:07:50.515871+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webmachinelearning/webmcp"}, {"content_hash": "823d9fbbbb1368e6d3ef1ea33d0a11b6c99317cdb6a8147a949b4b5aef10c0cd", "fetched_at": "2026-08-29T09:35:45.210357+00:00", "kind": "homepage", "missing": false, "url": "https://webmachinelearning.github.io/webmcp/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.026167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "95a9516e9ca82f060577b28936d9a9f778915a1d6fe09431a17c9c33730bc8d0", "fetched_at": "2026-08-28T04:07:50.515871+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webmachinelearning/webmcp"}, {"content_hash": "823d9fbbbb1368e6d3ef1ea33d0a11b6c99317cdb6a8147a949b4b5aef10c0cd", "fetched_at": "2026-08-29T09:35:45.210357+00:00", "kind": "homepage", "missing": false, "url": "https://webmachinelearning.github.io/webmcp/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.026167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "95a9516e9ca82f060577b28936d9a9f778915a1d6fe09431a17c9c33730bc8d0", "fetched_at": "2026-08-28T04:07:50.515871+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webmachinelearning/webmcp"}, {"content_hash": "823d9fbbbb1368e6d3ef1ea33d0a11b6c99317cdb6a8147a949b4b5aef10c0cd", "fetched_at": "2026-08-29T09:35:45.210357+00:00", "kind": "homepage", "missing": false, "url": "https://webmachinelearning.github.io/webmcp/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 28, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 393, "days_push": 7, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 62, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}