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

@flarewatch/mcp

v0.1.5

Published

stdio→HTTPS bridge for the FlareWatch MCP server. Lets stdio-only MCP clients (Claude Desktop, Cursor, Continue, Cline) attach via `npx @flarewatch/mcp` to access Flare and Songbird validator scores, FTSO provider data, prices, network state, and OAuth-sc

Readme


What this is

A thin stdio↔HTTPS bridge for the FlareWatch MCP server at https://mcp.flarewatch.io/api/mcp. Lets stdio-only MCP clients (Claude Desktop, Cline, older Cursor / Continue builds) reach the remote endpoint without each client having to implement the Streamable HTTP transport.

If your client speaks Streamable HTTP natively (recent Cursor, Continue), you don't need this bridge — point your client at the URL directly.

Why use FlareWatch's MCP

  • Real data. Every response is grounded in live on-chain reads (validator weights, FTSO submissions, reward epochs) or cron-refreshed caches — not LLM speculation.
  • Attributed. Every response carries source, methodology_uri, data_freshness, and an HMAC verification_signature. AI clients can cite specifically and other AIs can verify.
  • Read-only by architecture. 12 independent security walls. The MCP physically cannot mutate state in your wallet or in any FlareWatch system. Even worst-case prompt injection has no path to writes.
  • Free + untiered for public tools. No delegation requirement, no per-call quota, no API key.
  • Neutral. No "recommended by FlareWatch" anywhere. FlareWatch's own validator appears at its natural rank under the same scoring algorithm as every other validator.

Available tools

Public (no auth — 13 tools)

| Tool | What it returns | |---|---| | get_flare_validators | Top-N Flare validators sortable by score / stake / APY | | get_validator_score | Full per-dimension breakdown for one NodeID | | get_ftso_providers | FTSO data providers on Flare or Songbird | | get_ftso_provider_metrics | Detailed metrics for one provider | | get_network_status | Current reward-epoch state on either network | | get_flarewatch_validator | FlareWatch's own validator stats (same scoring as everyone) | | get_flarewatch_sgb_entity | FlareWatch's SGB FTSO entity (live on-chain) | | get_flare_prices | FLR / SGB / XRP prices in USD + fiat | | get_recent_agent_actions | FlareWatch autonomous agent's action feed | | get_agent_capabilities | Agent's autonomy by playbook family | | compare_validators | Side-by-side up to 10 validators | | compare_ftso_providers | Side-by-side up to 10 providers | | verify_response | HMAC-verify a previously-served response |

Wallet-scoped (OAuth 2.1 + PKCE — 4 tools)

| Tool | What it returns | |---|---| | get_my_delegations | Your WFLR FTSO + P-chain validator delegations | | get_my_claimable | Your claimable rewards across networks | | get_my_portfolio_summary | Your FLR + SGB balances + USD valuations | | get_my_tax_records | Structured tax line items — NOT tax advice |

Install

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "flarewatch": {
      "command": "npx",
      "args": ["-y", "@flarewatch/mcp"]
    }
  }
}

Cmd-Q Claude Desktop fully (close window isn't enough), reopen. New conversation → tools icon → confirm flarewatch shows up.

Cursor

Cursor speaks Streamable HTTP natively — skip this bridge:

{
  "url": "https://mcp.flarewatch.io/api/mcp"
}

Continue.dev

.continue/config.json:

{
  "experimental": {
    "modelContextProtocolServers": [
      {
        "transport": {
          "type": "streamableHttp",
          "url": "https://mcp.flarewatch.io/api/mcp"
        }
      }
    ]
  }
}

Cline

Same as Claude Desktop — Cline's MCP config accepts the same npx -y @flarewatch/mcp invocation.

Any other MCP client with stdio support

npx -y @flarewatch/mcp

The bridge speaks MCP-over-stdio on its standard input/output and forwards every JSON-RPC frame to the remote endpoint over HTTPS.

Raw HTTP test

curl -s -X POST https://mcp.flarewatch.io/api/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | jq .

Example queries (once attached)

Paste any of these into Claude / Cursor / Continue:

  • "Use the FlareWatch MCP to list the top 5 Flare validators by score."
  • "What's the current FLR price from the FTSO oracle?"
  • "Compare these three validators side by side: [NodeID-A, NodeID-B, NodeID-C]"
  • "What's the FTSO reward epoch state on Songbird right now?"
  • "Show me my WFLR delegations." (requires OAuth — sign in at flarewatch.io/services/mcp/authorize)

Environment overrides

| Variable | Default | Purpose | |---|---|---| | FLAREWATCH_MCP_URL | https://mcp.flarewatch.io/api/mcp | Endpoint to forward to. Useful for preview deploys or local dev. | | FLAREWATCH_MCP_TIMEOUT_MS | 30000 | Per-request HTTP timeout. |

Verification

Every tool response carries a verification_signature HMAC. To verify a citation came from this server:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "verify_response",
    "arguments": {
      "payload": { ... the structured response without verification_signature ... },
      "signature": "the signature you received"
    }
  }
}

Returns { "valid": true } if the signature matches the canonical payload.

What this bridge does NOT do

It's intentionally dumb (~150 LoC). All real logic — tool definitions, rate limiting, output classification, quarantine, audit logging, response signing — lives in the server at mcp.flarewatch.io/api/mcp. The bridge just forwards JSON-RPC frames between stdio and HTTPS.

No caching. No retries. No fallback. If the remote endpoint is down, the bridge surfaces the upstream error rather than attempting recovery.

Links

License

MIT.