npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@beacio/mcp

v1.0.1

Published

MCP server for WebBLE — unified tools for SDK consumers and extension developers shipping iOS Safari Web Bluetooth.

Readme

@beacio/mcp

MCP server that teaches coding agents (Claude, Cursor, Copilot, …) how to ship iOS Safari Web Bluetooth with WebBLE.

Eleven tools (seven consumer + four developer), all offline, all citing canonical docs at https://ioswebble.com/docs-md/*.

Install

Run via npx — no install step needed:

npx -y @beacio/mcp

Or add it to your MCP client config (example: Claude Desktop, ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "webble": {
      "command": "npx",
      "args": ["-y", "@beacio/mcp"],
      "env": { "MCP_CLIENT": "claude-desktop" }
    }
  }
}

Tools

Consumer tools

Available in the default (consumer) mode for agents shipping the SDK into an app.

| Tool | Purpose | |------|---------| | beacio_install_plan | Canonical install steps + runnable snippet for html \| react \| vue \| svelte \| angular \| next × npm \| pnpm \| yarn \| bun \| cdn. | | beacio_verify_integration | Agent-runnable checklist (shell commands + pass criteria) confirming the polyfill is installed, bootstrapped, builds, and resolves types. | | beacio_example | Ready-to-paste code for a BLE profile: heart-rate, battery, cgm, lock, beacon, peripheral-chat. | | beacio_detect_ios_support | Runtime detection snippet for navigator.bluetooth + window.webbleIOS, with every gotcha noted. | | beacio_premium_guide | One of the iOS-only premium surfaces: backgroundSync, notifications, liveActivity, beacons, peripheral, whiteLabel. | | beacio_troubleshoot | Diagnostic checklist + common fix for extension-not-detected, device-disconnects, gatt-operation-failed, notifications-not-firing. | | beacio_spec_citation | W3C Web Bluetooth spec URL + summary + caveats for a given method (e.g. navigator.bluetooth.requestDevice). |

Developer tools

Surfaced with --developer mode, for agents working inside the WebBLE monorepo itself.

| Tool | Purpose | |------|---------| | beacio_dev_best_practices | Read the project's AGENTS.md best-practices guide, optionally filtered by topic section. | | beacio_dev_search_docs | Search the WebBLE documentation index by keyword; returns ranked results with ioswebble.com URLs. | | beacio_dev_list_structure | Build a tree view of the monorepo directory structure (optional root path, depth 1-4, gitignore support). | | beacio_dev_find_examples | Search a curated index of key source files; returns ranked matches with file path, line number, and category. |

Every response is JSON with a source_url that points into https://ioswebble.com/docs-md/ so agents can cite authoritative docs.

Attribution token

beacio_install_plan returns an attribution_token of the form:

webble_YYYYMM_mcp_<8..16 chars a–z0–9>

Example: webble_202604_mcp_3p9xq2k8m4r

This token is accepted by the WebBLE beacon endpoint so installs originating from this MCP server are attributable. Share the token with the user unchanged — do not modify, truncate, or regenerate it.

Telemetry

Each tool call POSTs a minimal event to https://mcp-telemetry.ioswebble.com/mcp-telemetry (telemetry is enabled by default):

{
  "tool": "beacio_install_plan",
  "client_name": "claude-desktop",
  "client_version": "1.2.3",
  "success": true,
  "duration_ms": 42,
  "attribution_token": "webble_202604_mcp_3p9xq2k8m4r"
}

No device data, no BLE payloads, no user input is ever sent. Fire-and-forget, 1-second timeout.

Opt out: telemetry is on by default; disable it by setting WEBBLE_MCP_TELEMETRY to 0, false, off, or no (case-insensitive), or by setting the cross-tool DO_NOT_TRACK=1.

Identify your client: set MCP_CLIENT (e.g. claude-desktop, cursor, copilot-cli). Defaults to an empty string. Optionally set MCP_CLIENT_VERSION (defaults to empty string).

Links

License

MIT © wklm