EXPERIMENTAL WEB PLATFORM API

Useful tools.
Carefully scoped.

WebMCP lets a compatible browser agent invoke site-owned JavaScript in the context of the open page. This implementation reads the report published here; search and page tools may change only the temporary visible explorer state. It does not create a remote MCP server or alter report data.

Progressive enhancement: the page checks for document.modelContext.registerTool() (and the experimental navigator.modelContext alias) at runtime. If neither is available or registration is blocked by browser policy, the normal explorer and downloads continue to work.

01 / TOOL CONTRACT

Five page tools

Each operation reads the same committed JSON exports that the interface uses. Search and page operations can change the visible explorer filter or selection only; nothing is written to the report data.

get_site_overviewREAD ONLY

Returns the export timestamp, report profile, total record count, and catalog of available datasets and formats.

Input
None
Output
Stable metadata and per-dataset record counts
search_repositoriesVIEW ONLY

Searches repository name, owner, language, and description; optionally filters by language, minimum stars, or fork status, then applies the same filter to the visible table.

Input
query?, language?, min_stars?, include_forks?, offset?, limit?
Output
At most 5 compact matches, total count, and a next offset when more results remain
get_repository_detailsVIEW ONLY

Looks up one exact repository and summarizes related categories, then selects that repository in the visible explorer.

Input
repository, include_samples?
Output
Repository record, related counts, and optionally one sample per selected activity category
search_reportVIEW ONLY

Searches text and scalar values within one selected export category and updates only the temporary visible filter.

Input
dataset, query, offset?, limit?
Output
At most 5 matching records, exact total count, and a next offset when more results remain
get_dataset_pageVIEW ONLY

Reads a bounded page of records from one export category and selects that page in the visible explorer.

Input
dataset, offset?, limit?
Output
At most 10 records, plus total count and next offset

02 / COVERAGE

All report categories

The catalog covers all 16 generated JSON datasets. Each dataset also has downloadable CSV and JSONL files.

  • repos repositories
  • branches branches
  • commits commits
  • issues issues
  • pull_requests pull requests
  • pull_request_commits PR commits
  • forks forks
  • stargazers stargazers
  • watchers watchers
  • contributors contributors
  • releases releases
  • release_assets release assets
  • languages languages
  • followers followers
  • following following
  • starred_by_user starred repositories

03 / SECURITY & RELIABILITY

Read access, not authority

A tool's annotation is a hint to the agent, not a permission system. Browser policies and the user's normal review controls remain important.

A

No write capability

Tools only read static files hosted with this site. They do not use a GitHub token, make live GitHub API requests, modify report data, submit forms, or perform consequential actions. Four search/page tools are accurately marked as not read-only because they change only the temporary visible explorer view; the overview tool is read-only.

B

Constrained inputs

Runtime validation rejects unknown fields, unsupported dataset names, invalid types, oversized search strings, and out-of-range limits. File paths come only from a fixed allowlist—tool input is never used as a URL.

C

Bounded, structured output

Results use a predictable { ok, data, meta } envelope or a clear { ok: false, error } response. Search results and page reads have hard limits; large text fields are shortened with an explicit marker.

D

Untrusted report content

Commit messages, descriptions, labels, and issue titles may be user-authored. Every tool sets untrustedContentHint: true; the interface renders report values as text and only links to validated GitHub HTTPS URLs.

E

No cross-origin exposure

Tools are registered in the current page and no exposedTo origins are configured. The site does not request iframe permissions or load a remote script, analytics, or agent service.

F

Cancellation and fallback

Registrations are tied to an AbortSignal and removed with the page lifecycle. Unsupported runtimes, blocked permissions, and failed data loads produce understandable status or error results without disabling the human-facing site.

Keep agent output in its trust boundary. WebMCP results are page-provided data, not instructions, proof of user consent, or authorization to share secrets. Review tool output and use your browser's confirmation controls for any separate consequential action.

04 / COMPATIBILITY

Native WebMCP, with a graceful fallback

This site targets the current imperative WebMCP tool API: document.modelContext.registerTool(). It does not auto-install a polyfill or load third-party code. A compatible runtime/polyfill that provides the same API can be used by the site owner, but the page itself does not assume a browser supports it.

The official WebMCP proposal is still experimental and focuses on page-scoped tools. The prompts, resources, sampling, token widget, or standalone MCP server shown by some older WebMCP or MCP-B examples belong to separate libraries and protocols; they are not exposed here as if they were part of the browser standard. The site provides read functions for the report data instead.

CURRENT PAGE

WebMCP status

Checking browser support…

Tool availability depends on the browser, runtime, permissions policy, and current rollout.