rgrieselhuber avatar

D Fetcher

rgrieselhuber/dfetcher

Connects Claude to a real-time vitamin D synthesis calculator that accounts for solar position, UV index from TEMIS satellite feeds, skin type (Fitzpatrick scale), exposed body area, and age. Exposes operations to compute IU per minute, time to target dose, sunburn risk windows, and daily synthesis viability. The model uses NOAA solar geometry, scales linearly with UV index and body exposure, and anchors to published Holick's rule reference times. Useful when you need to advise on optimal sun exposure timing, generate personalized outdoor schedules, or answer health-related questions about vitamin D that require location-specific solar data rather than generic supplementation advice.

tools
3
transport
HTTP
last updated
May 29, 2026

Install

From registry metadata
$ npx add-mcp https://dfetcher.com/mcp --name vitamin-d

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http vitamin-d https://dfetcher.com/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 3 tools

Verified live against the running server on Nov 6, 2026.

calculateCalculate vitamin D synthesis at a given location and time. Returns sun position, UV index, IU/min, minutes to reach the target dose, MED (sunburn threshold), the peak window, and optional 15-min day / monthly year curves. UV index uses a live satellite-driven forecast where a...10 params

Calculate vitamin D synthesis at a given location and time. Returns sun position, UV index, IU/min, minutes to reach the target dose, MED (sunburn threshold), the peak window, and optional 15-min day / monthly year curves. UV index uses a live satellite-driven forecast where a...

Parameters* required
ageinteger
Age in years (used for the age factor).default: 45
areanumber
Exposed body fraction. 0.10 face+hands, 0.25 arms+face, 0.40 t-shirt+shorts, 0.85 near-full body.default: 0.25
datestring
ISO 8601 timestamp or epoch ms. Defaults to now.
dayboolean
Include 15-min samples through the local day.default: true
lat*number
Latitude in degrees.
lon*number
Longitude in degrees.
scalpstring
Scalp coverage. "bald" adds ~3.5% BSA.one of hair · balddefault: hair
skininteger
Fitzpatrick skin type 1–6. Use describe_skin_types if unknown.default: 3
targetinteger
Daily vitamin D target in IU.default: 1000
yearboolean
Include monthly solar-noon samples with cloud climatology.default: true
geocodeTurn a place name, postal code, or "code, CC" string into { lat, lon, label }. Auto-detects US/CA/GB/NL/JP/BR postal patterns; ambiguous digit-only codes default to US unless the caller appends a country code (e.g. "10115, DE"). Falls back to Open-Meteo place-name search for e...1 params

Turn a place name, postal code, or "code, CC" string into { lat, lon, label }. Auto-detects US/CA/GB/NL/JP/BR postal patterns; ambiguous digit-only codes default to US unless the caller appends a country code (e.g. "10115, DE"). Falls back to Open-Meteo place-name search for e...

Parameters* required
query*string
City name, postal code, or "CODE, CC" (e.g. "75001, FR").
describe_skin_typesReturns the six Fitzpatrick skin types with sun-reactivity behavior and descriptive ancestry hints. Call this when the user's skin type is unknown so you can pick the closest match before calling calculate.

Returns the six Fitzpatrick skin types with sun-reactivity behavior and descriptive ancestry hints. Call this when the user's skin type is unknown so you can pick the closest match before calling calculate.

No parameters. Call it with no arguments.

Sponsors

Readme

Details

Repository
github.com/rgrieselhuber/dfetcher
Website
dfetcher.com
Transport
HTTP
Registry
MCP registry, active
Tools verified
Nov 6, 2026