io.github.JaviMaligno/vitamind is a remote MCP server that gives an AI agent 15 tools, among them compare_vitamin_d_year, configure_sun_profile, estimate_sun_session. It answers at https://getvitamind.app/api/mcp/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 20 October 2026, succeeded.
Know when the sun can make vitamin D where you are, for your skin type. Live UV data.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
compare_vitamin_d_year | Compare the vitamin D year of 2 to 5 places side by side in ONE call — 'Madrid vs Berlin vs Oslo, where do I actually get winter sun?'. Returns each place's months with sun, exact season span and viable days per year, plus rankedByViableDay Inputs: places, skinType, exposedSkinFraction, age, targetIU |
configure_sun_profile | Show the user an interactive form for the four values every other tool assumes — Fitzpatrick skin type, fraction of skin exposed, age and target IU — with the minutes they need updating live. Use this when those values are unknown, when the Inputs: lat, lon, timezone, placeName, skinType, exposedSkinFraction |
estimate_sun_session | Estimate a sun session's outcome: 'I was (or will be) out N minutes — how much vitamin D did I make?' plus 'how long before I'd burn?' for the profile. Takes a start time (defaults to the day's best hour) and session minutes; returns estima Inputs: lat, lon, date, timezone, skinType, exposedSkinFraction |
get_current_status | Whether RIGHT NOW is a good moment for vitamin D synthesis at a location, using live Open-Meteo UV/cloud data when reachable (clear-sky model otherwise): current UV index, minutes needed now, and when today's window opens or closes. Inputs: lat, lon, timezone, skinType, exposedSkinFraction, age |
get_my_cities | The signed-in user's current city and favorite cities with coordinates and timezones, ready to feed into the public tools. Requires OAuth (scope profile:read). |
get_my_history | The signed-in user's sun history from the app's calendar: which recent days had viable sun, which they confirmed going outside, and their current streak. Covers the calendar days from `from` to `to`; records exist only for days the app was Inputs: days |
get_my_profile | The signed-in user's saved Vitamin D profile: skin type, exposed-skin default, age, target IU and their current city. Requires connecting with OAuth (scope profile:read). Call this FIRST for any personal question, then pass its values to th |
get_sun_forecast | The NEXT FEW DAYS of vitamin D sun at a location, using the live Open-Meteo forecast: per day the peak UV, average cloud cover, the synthesis window and the minutes needed, plus bestDay. Use this for any question spanning several days — 'wh Inputs: lat, lon, timezone, skinType, exposedSkinFraction, age |
get_sun_times | Sunrise, sunset, solar noon, civil dawn/dusk, morning AND evening golden hour, and day length (with day-over-day trend) for a location and date. Handles midnight sun and polar night. Pure sun times — for vitamin D questions use the vitamin_ Inputs: lat, lon, date, timezone |
get_vitamin_d_window | The solar vitamin D synthesis window for ONE specific day at a location, for a personal profile: when UV is strong enough (index ≥ 3), the best hour, the clear-sky minutes needed to reach the target IU, and (with atTime) the minutes at the Inputs: lat, lon, date, timezone, skinType, exposedSkinFraction |
get_vitamin_d_year | The WHOLE YEAR of solar vitamin D for a location in a single call. monthsWithSun lists every month with at least one viable day (season edges count as partial months, see byMonth[].viableDays); solidMonths lists months where most days work; Inputs: lat, lon, timezone, skinType, exposedSkinFraction, age |
log_sun_session | Sets a day's answer in the signed-in user's history calendar. Three values: confirmed=true (went out, the default), confirmed=false (had usable sun but stayed in), confirmed=null (clear the answer). Defaults to today. Requires OAuth (scope Inputs: date, minutes, confirmed |
search_city | Find a city in the app's database by name (any of the app's six languages works) and get its coordinates, IANA timezone and elevation — feed those into the other tools. Inputs: query |
set_history_location | Records where the signed-in user was over a range of past days, so their history stops assuming. Use it when the user corrects a stretch — get_my_history marks inherited days with `locationAssumed`, and the history calendar offers those str Inputs: from, to, cityId, lat, lon |
update_my_profile | Save the signed-in user's synthesis profile — skin type, exposed-skin fraction, age and target IU — to their account, so the app and every later call use them. Requires OAuth (scope profile:write). Only these four values are writable; favou Inputs: skinType, exposedSkinFraction, age, targetIU |
Every block below points at https://getvitamind.app/api/mcp/mcp. Pick your client and copy.
claude mcp add --transport http io-github-javimaligno-vitamind https://getvitamind.app/api/mcp/mcp
{
"mcpServers": {
"io-github-javimaligno-vitamind": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://getvitamind.app/api/mcp/mcp"]
}
}
}{
"mcpServers": {
"io-github-javimaligno-vitamind": {
"url": "https://getvitamind.app/api/mcp/mcp"
}
}
}{
"servers": {
"io-github-javimaligno-vitamind": {
"type": "http",
"url": "https://getvitamind.app/api/mcp/mcp"
}
}
}{
"context_servers": {
"io-github-javimaligno-vitamind": {
"url": "https://getvitamind.app/api/mcp/mcp"
}
}
}{
"mcpServers": {
"io-github-javimaligno-vitamind": {
"serverUrl": "https://getvitamind.app/api/mcp/mcp"
}
}
}{
"mcpServers": {
"io-github-javimaligno-vitamind": {
"url": "https://getvitamind.app/api/mcp/mcp"
}
}
}name: io.github.JaviMaligno/vitamind
version: 0.0.1
schema: v1
mcpServers:
- name: io.github.JaviMaligno/vitamind
type: streamable-http
url: https://getvitamind.app/api/mcp/mcp{
"mcpServers": {
"io-github-javimaligno-vitamind": {
"httpUrl": "https://getvitamind.app/api/mcp/mcp"
}
}
}{
"mcpServers": {
"io-github-javimaligno-vitamind": {
"type": "http",
"url": "https://getvitamind.app/api/mcp/mcp"
}
}
}{
"mcpServers": {
"io-github-javimaligno-vitamind": {
"url": "https://getvitamind.app/api/mcp/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fgetvitamind.app%2Fapi%2Fmcp%2Fmcp&type=streamable_http&id=io-github-javimaligno-vitamind&name=io.github.JaviMaligno/vitamind
It answered our last check on 20 October 2026 in 335 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
15, as returned by the server's own tools/list on 12 September 2026: compare_vitamin_d_year, configure_sun_profile, estimate_sun_session, get_current_status, get_my_cities, get_my_history, get_my_profile, get_sun_forecast, and 7 more.
It answered our last check on 20 October 2026 in 335 ms. Over 6 checks since 11 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://getvitamind.app/api/mcp/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.github.javimaligno. Endpoint host: getvitamind.app. ARD identifier: urn:air:io.github.javimaligno:mcp:vitamind.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.