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

vitamind-mcp

v1.0.0

Published

MCP server for solar vitamin D: when the sun where you are can actually make vitamin D, for your skin type. Real solar geometry and live UV data.

Readme

vitamind-mcp

Connect your AI assistant to Vitamin D Explorer — so it can answer, for your actual location and skin type, whether the sun can make vitamin D right now, how long you'd need, and which months of the year it's possible at all.

Generic advice says "get 15 minutes of sun". That answer is wrong most of the time: skin type I in London and skin type V in Madrid need completely different exposure, and above about 40° latitude there are months where synthesis is physically impossible no matter how long you stay out.

Try it

"I'm in Vilnius, skin type II. Can I make vitamin D today?"

"Which months of the year can I get vitamin D in London?"

"I was out 25 minutes at noon in Madrid, arms and legs bare — how much did I make?"

"When's golden hour in Lisbon on Friday?"

Install

Most clients can connect to the hosted server directly, with no install at all — see getvitamind.app/connect for per-client steps. Use this package when your client only launches local commands.

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

That's the whole configuration. No API key, no account.

Tools

Six public tools, no account needed:

| Tool | Answers | |---|---| | search_city | Find a city and its coordinates, in any of the app's six languages | | get_sun_times | Sunrise, sunset, solar noon, civil dawn/dusk, both golden hours, day length | | get_vitamin_d_window | The synthesis window for one day: minutes needed, best hour, UV peak | | get_vitamin_d_year | The whole year in one call: which months work, which don't | | get_current_status | Whether right now is a good moment, from live UV and cloud data | | estimate_sun_session | What a session produced — IU made, and minutes until burning |

Four more read your saved profile, favourite cities and sun history if you sign in (get_my_profile, get_my_cities, get_my_history, log_sun_session). Those need OAuth, which this bridge does not implement — connect the account endpoint directly, or:

npx mcp-remote https://getvitamind.app/api/mcp-auth/mcp

What's behind the numbers

Not a lookup table. Every answer is computed from:

  • Solar geometry — NOAA declination and elevation formulas.
  • UV model — Madronich (2007) clear-sky UVI with van Heuklon ozone by latitude, longitude and season, plus an altitude correction (~8% per km — enough to change which months work for a city like Bogotá).
  • Vitamin D synthesis — Holick & Dowdy (2010), with MED by Fitzpatrick skin type (I-VI) and the Holick (1989) age factor. Sessions saturate: past roughly ⅓ MED you gain little and burn risk rises, and the tools say so.
  • Live weather — Open-Meteo UV index and cloud cover.

Threshold for any synthesis at all: UV index ≥ 3. Below that the answer is honestly "not today, consider supplementing" rather than a smaller number.

Configuration

| | | |---|---| | --url <endpoint> | Endpoint to bridge to. Default https://getvitamind.app/api/mcp/mcp | | VITAMIND_MCP_URL | Same, as an environment variable |

How it works

A stdio↔HTTP relay, and nothing more. It forwards JSON-RPC messages verbatim between your client and the hosted server, so new tools appear without a release here. All the vitamin D logic lives in the hosted server — deliberately, since a second copy of the model in this package would drift from the app that people actually use.

Not medical advice

Estimates for healthy skin under clear-sky or forecast conditions. They ignore aerosols, ground reflectance, sunscreen and individual variation, and they are not a substitute for advice from a professional. Do not use them to plan an intentional burn.

Links

MIT