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

geo-parity-mcp

v1.0.1

Published

stdio bridge to the hosted Geo-Parity MCP server: purchasing power, fair cross-border salaries, cost of living, nomad visas, tax residency, FIRE and relocation costs. 26 tools, open, no auth.

Readme

Geo-Parity MCP Server

A live, hosted Model Context Protocol server for geographic parity — purchasing power, fair salaries across borders, cost of living, FIRE and runway, visas and passports, tax residency, timezone overlap, climate, country risk and relocation costs.

Endpoint: https://geo-parity.com/api/mcp Transport: Streamable HTTP Auth: none — open, no key, no sign-up

Install

Remote (recommended) — connect straight to the hosted server:

claude mcp add --transport http geo-parity https://geo-parity.com/api/mcp
{
  "mcpServers": {
    "geo-parity": {
      "type": "http",
      "url": "https://geo-parity.com/api/mcp"
    }
  }
}

stdio — for clients that do not speak Streamable HTTP. This package is a thin bridge to the same hosted server:

npx -y geo-parity-mcp
{
  "mcpServers": {
    "geo-parity": {
      "command": "npx",
      "args": ["-y", "geo-parity-mcp"]
    }
  }
}

The bridge forwards JSON-RPC verbatim and declares no tools of its own, so the tool list is always the server's. New tools appear without updating this package, and the protocol version your client negotiates is negotiated with the real server.

Environment variables (all optional):

| Variable | Default | Purpose | |---|---|---| | GEO_PARITY_MCP_URL | https://geo-parity.com/api/mcp | Point the bridge elsewhere | | GEO_PARITY_API_KEY | — | gp_live_… key; raises rate limits | | GEO_PARITY_TIMEOUT_MS | 30000 | Per-request timeout |

Protocol support

The server is dual-era: one endpoint serves both the modern per-request revision and the older initialization-handshake revisions, and it echoes back whichever version your client asks for.

| Revision | Era | Notes | |---|---|---| | 2026-07-28 | modern | per-request _meta, server/discover, UnsupportedProtocolVersionError | | 2025-11-25 | legacy | initialize handshake | | 2025-06-18 | legacy | initialize handshake | | 2025-03-26 | legacy | initialize handshake | | 2024-11-05 | legacy | initialize handshake |

A version we do not implement is refused with -32022 listing the ones we do, so a client can pick one and retry.

Tools (26)

Every tool is a pure read over static datasets — read-only, non-destructive, idempotent and closed-world — so no call needs confirming.

| Tool | What it answers | |---|---| | calculate_ppp | What a US-baseline income is really worth in another country | | localize_salary | Fair pay for the same role across borders | | calculate_wage_bands | Local wage ladder: minimum, median, top 10% | | compare_total_cost | Total cost of living against your income | | compare_countries | Two countries' cost of living, side by side | | estimate_micro_costs | Everyday prices (the Pint & Property Index) | | compare_housing | Rent as a share of your income and of the local median wage | | compare_healthcare | Health spending, out-of-pocket share and dentist access | | compare_connectivity | Measured internet quality and price | | compare_climate | Climate normals and comfortable days per year | | compare_public_holidays | Shared working days and public holidays | | compare_country_risk | Country risk (INFORM, EC JRC) | | rank_livability | Quality of life against cost | | find_fire_locations | Where a portfolio can fund early retirement | | calculate_runway | How much longer your savings last if you relocate | | compare_contract | Contractor vs employee net take-home | | required_rate | The freelance hourly rate you actually need | | find_nomad_visas | Digital nomad visas your income qualifies for | | passport_power | Visa-free access score and global rank | | arrival_cost | What it costs to arrive: entry fee, first rent, deposit | | check_schengen | Whether an itinerary breaks Schengen 90/180 | | check_residency | Tax-residency day counts | | check_tax_residency_risk | Tax-residency risk for remote work abroad | | check_travel_residency | Unified Schengen + residency + tax-cost tracker | | find_meeting_slot | Team timezone friction and the meeting window | | select_region | Lowest-latency cloud host region |

Try it

curl -s -X POST https://geo-parity.com/api/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -s -X POST https://geo-parity.com/api/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"calculate_ppp","arguments":{"income":100000,"target":"TH"}}}'

Discover what the server supports in one request:

curl -s -X POST https://geo-parity.com/api/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":3,"method":"server/discover"}'

Every result is citable

Successful responses carry an attribution block: the datasets used, their providers and reference years, a ready-to-quote citation sentence, and a permalink to the page that answers the same question. Quote it when you use these figures.

Rate limits

Open and key-less. Anonymous callers get 1,500 requests/month per IP plus a 30/minute burst cap. An optional API key (Authorization: Bearer gp_live_…, created at https://geo-parity.com/account) raises both ceilings without changing any response, and is metered per account rather than per key.

Over a ceiling, endpoints return HTTP 429 with RATE_LIMITED (slow down) or QUOTA_EXCEEDED (allowance spent — retrying will not help).

Also available as

Caveats

Figures are estimates built from public datasets (World Bank, Eurostat, OECD, WHO, HUD, INFORM, Nager.Date, Open-Meteo, Cloudflare Radar, ITU and others). They are not tax, legal or financial advice. Where a figure could not be verified it is reported as absent rather than guessed — an absent value never means zero.

Links

Licence

MIT for this repository's contents. The hosted service is provided as-is under the site's terms.