Server definition
- Hash
- sha256:e9e2b1b6273ce892f9a8db8048ee512de01a180fe5e65a7fba76a8970510a126
- What it is
- What a remote MCP server returned when asked what it offers: 3 tools
The blob, as servednamed by its sha256
{
"instructions": "Vitamin D synthesis calculator. Call describe_skin_types if you don't know the user's Fitzpatrick type, geocode to turn a place or postal code into lat/lon, then calculate for the recommendation. Locations are in decimal degrees; UV index is live where available with a clear-sky fallback.",
"tools": [
{
"description": "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 available, with a clear-sky fallback.",
"inputSchema": {
"properties": {
"age": {
"default": 45,
"description": "Age in years (used for the age factor).",
"maximum": 120,
"minimum": 1,
"type": "integer"
},
"area": {
"default": 0.25,
"description": "Exposed body fraction. 0.10 face+hands, 0.25 arms+face, 0.40 t-shirt+shorts, 0.85 near-full body.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"date": {
"description": "ISO 8601 timestamp or epoch ms. Defaults to now.",
"type": "string"
},
"day": {
"default": true,
"description": "Include 15-min samples through the local day.",
"type": "boolean"
},
"lat": {
"description": "Latitude in degrees.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in degrees.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"scalp": {
"default": "hair",
"description": "Scalp coverage. \"bald\" adds ~3.5% BSA.",
"enum": [
"hair",
"bald"
],
"type": "string"
},
"skin": {
"default": 3,
"description": "Fitzpatrick skin type 1–6. Use describe_skin_types if unknown.",
"maximum": 6,
"minimum": 1,
"type": "integer"
},
"target": {
"default": 1000,
"description": "Daily vitamin D target in IU.",
"maximum": 50000,
"minimum": 100,
"type": "integer"
},
"year": {
"default": true,
"description": "Include monthly solar-noon samples with cloud climatology.",
"type": "boolean"
}
},
"required": [
"lat",
"lon"
],
"type": "object"
},
"name": "calculate",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "describe_skin_types",
"outputSchema": null
},
{
"description": "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 everything else.",
"inputSchema": {
"properties": {
"query": {
"description": "City name, postal code, or \"CODE, CC\" (e.g. \"75001, FR\").",
"minLength": 1,
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "geocode",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:e9e2b1b6273ce892f9a8db8048ee512de01a180fe5e65a7fba76a8970510a126 | sha256sum