{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_3ewqh9n4t3q3","handle":"vitamind","url":"https://wellknown.network/agents/vitamind","links":{"self":"https://wellknown.network/agents/vitamind/record.json","html":"https://wellknown.network/agents/vitamind","markdown":"https://wellknown.network/agents/vitamind/record.md","api":"https://wellknown.network/api/v1/agents/vitamind","status":"https://wellknown.network/api/v1/agents/vitamind/status","claim":"https://wellknown.network/agents/vitamind/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/vitamind/claim.json","badge":"https://wellknown.network/agents/vitamind/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/vitamind/history","tools":"https://wellknown.network/api/v1/agents/vitamind/tools"},"ard":{"identifier":"urn:air:getvitamind.app:server:vitamind","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"vitamind","summary":"Know when the sun can make vitamin D where you are, for your skin type. Live UV data.","description":"Know when the sun can make vitamin D where you are, for your skin type. Live UV data.","publisher":{"name":"JaviMaligno","url":null},"homepage":"https://getvitamind.app/connect","repository":"https://github.com/JaviMaligno/vitamind","version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://getvitamind.app/api/mcp-auth/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://getvitamind.app/api/mcp/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-07-27T15:22:23.330384Z","publishedAt":"2026-07-27T15:22:23.330384Z","registryName":"io.github.JaviMaligno/vitamind"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"automation.workflows","name":"Workflow Automation","confidence":0.833,"provenance":"derived"},{"slug":"research.web","name":"Deep Web Research","confidence":0.54,"provenance":"derived"},{"slug":"data.database","name":"Databases","confidence":0.525,"provenance":"derived"},{"slug":"data.weather","name":"Weather","confidence":0.525,"provenance":"derived"},{"slug":"productivity.calendar","name":"Calendar & Scheduling","confidence":0.525,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.525,"provenance":"derived"}],"categories":["automation","commerce","data","productivity","research"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-11T16:30:20.518Z","lastProbedAt":"2026-10-11T16:30:20.518Z","statusComputedAt":"2026-10-11T16:31:21.037Z","reliability30d":{"probes":223,"successRate":1,"p50Ms":167,"basis":"mixed","measures":{"availability":"availability (some checks stopped at authentication)","latency":"response time (mixed)","tools":"partially observed","summary":"Some successful checks reached the service and some stopped at an authentication response; figures combine both."},"checks":{"total":218,"ok":218,"authBoundaryOk":109,"serviceOk":109,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-11T16:30:20.518Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":142,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer error=\"invalid_token\", error_description=\"No authorization provided\", resource_metadata=\"https://getvitamind.app/.well-known/oauth-protected-resource\""}},{"at":"2026-10-11T14:26:36.816Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":186,"error":null,"detail":{"tools":[{"name":"search_city","description":"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 othe"},{"name":"get_sun_times","description":"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 midnigh"},{"name":"get_vitamin_d_window","description":"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-"},{"name":"get_vitamin_d_year","description":"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 m"},{"name":"configure_sun_profile","description":"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 m"},{"name":"get_sun_forecast","description":"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 min"},{"name":"compare_vitamin_d_year","description":"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 mon"},{"name":"get_current_status","description":"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): curren"},{"name":"estimate_sun_session","description":"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 "},{"name":"get_my_profile","description":"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 prof"},{"name":"get_my_cities","description":"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)."},{"name":"update_my_profile","description":"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. "},{"name":"get_my_history","description":"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"},{"name":"log_sun_session","description":"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 i"},{"name":"set_history_location","description":"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 "}],"toolCount":15,"toolsHash":"77f10edbd88d54ab2637c80441715833becf9602f699e6806b485dfa332e9cae","serverName":"vitamind-explorer","capabilities":["resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T10:25:05.389Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":155,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer error=\"invalid_token\", error_description=\"No authorization provided\", resource_metadata=\"https://getvitamind.app/.well-known/oauth-protected-resource\""}},{"at":"2026-10-11T08:26:40.214Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":125,"error":null,"detail":{"tools":[{"name":"search_city","description":"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 othe"},{"name":"get_sun_times","description":"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 midnigh"},{"name":"get_vitamin_d_window","description":"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-"},{"name":"get_vitamin_d_year","description":"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 m"},{"name":"configure_sun_profile","description":"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 m"},{"name":"get_sun_forecast","description":"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 min"},{"name":"compare_vitamin_d_year","description":"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 mon"},{"name":"get_current_status","description":"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): curren"},{"name":"estimate_sun_session","description":"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 "},{"name":"get_my_profile","description":"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 prof"},{"name":"get_my_cities","description":"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)."},{"name":"update_my_profile","description":"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. "},{"name":"get_my_history","description":"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"},{"name":"log_sun_session","description":"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 i"},{"name":"set_history_location","description":"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 "}],"toolCount":15,"toolsHash":"77f10edbd88d54ab2637c80441715833becf9602f699e6806b485dfa332e9cae","serverName":"vitamind-explorer","capabilities":["resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T04:24:16.821Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":153,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer error=\"invalid_token\", error_description=\"No authorization provided\", resource_metadata=\"https://getvitamind.app/.well-known/oauth-protected-resource\""}},{"at":"2026-10-11T01:21:01.254Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":150,"error":null,"detail":{"tools":[{"name":"search_city","description":"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 othe"},{"name":"get_sun_times","description":"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 midnigh"},{"name":"get_vitamin_d_window","description":"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-"},{"name":"get_vitamin_d_year","description":"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 m"},{"name":"configure_sun_profile","description":"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 m"},{"name":"get_sun_forecast","description":"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 min"},{"name":"compare_vitamin_d_year","description":"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 mon"},{"name":"get_current_status","description":"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): curren"},{"name":"estimate_sun_session","description":"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 "},{"name":"get_my_profile","description":"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 prof"},{"name":"get_my_cities","description":"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)."},{"name":"update_my_profile","description":"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. "},{"name":"get_my_history","description":"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"},{"name":"log_sun_session","description":"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 i"},{"name":"set_history_location","description":"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 "}],"toolCount":15,"toolsHash":"77f10edbd88d54ab2637c80441715833becf9602f699e6806b485dfa332e9cae","serverName":"vitamind-explorer","capabilities":["resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T21:26:03.861Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":157,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer error=\"invalid_token\", error_description=\"No authorization provided\", resource_metadata=\"https://getvitamind.app/.well-known/oauth-protected-resource\""}},{"at":"2026-10-10T18:28:16.357Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":200,"error":null,"detail":{"tools":[{"name":"search_city","description":"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 othe"},{"name":"get_sun_times","description":"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 midnigh"},{"name":"get_vitamin_d_window","description":"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-"},{"name":"get_vitamin_d_year","description":"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 m"},{"name":"configure_sun_profile","description":"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 m"},{"name":"get_sun_forecast","description":"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 min"},{"name":"compare_vitamin_d_year","description":"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 mon"},{"name":"get_current_status","description":"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): curren"},{"name":"estimate_sun_session","description":"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 "},{"name":"get_my_profile","description":"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 prof"},{"name":"get_my_cities","description":"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)."},{"name":"update_my_profile","description":"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. "},{"name":"get_my_history","description":"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"},{"name":"log_sun_session","description":"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 i"},{"name":"set_history_location","description":"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 "}],"toolCount":15,"toolsHash":"77f10edbd88d54ab2637c80441715833becf9602f699e6806b485dfa332e9cae","serverName":"vitamind-explorer","capabilities":["resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T15:31:32.689Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":221,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer error=\"invalid_token\", error_description=\"No authorization provided\", resource_metadata=\"https://getvitamind.app/.well-known/oauth-protected-resource\""}},{"at":"2026-10-10T12:27:36.029Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":230,"error":null,"detail":{"tools":[{"name":"search_city","description":"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 othe"},{"name":"get_sun_times","description":"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 midnigh"},{"name":"get_vitamin_d_window","description":"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-"},{"name":"get_vitamin_d_year","description":"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 m"},{"name":"configure_sun_profile","description":"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 m"},{"name":"get_sun_forecast","description":"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 min"},{"name":"compare_vitamin_d_year","description":"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 mon"},{"name":"get_current_status","description":"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): curren"},{"name":"estimate_sun_session","description":"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 "},{"name":"get_my_profile","description":"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 prof"},{"name":"get_my_cities","description":"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)."},{"name":"update_my_profile","description":"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. "},{"name":"get_my_history","description":"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"},{"name":"log_sun_session","description":"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 i"},{"name":"set_history_location","description":"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 "}],"toolCount":15,"toolsHash":"77f10edbd88d54ab2637c80441715833becf9602f699e6806b485dfa332e9cae","serverName":"vitamind-explorer","capabilities":["resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":null,"package":null,"toolSurface":{"id":"ts_j7xvzj8cjfcq","endpointId":"ep_csqmp78yefvv","hash":"77f10edbd88d54ab2637c80441715833becf9602f699e6806b485dfa332e9cae","toolCount":15,"serverName":"vitamind-explorer","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T13:27:12.533Z","lastSeenAt":"2026-10-11T14:26:36.829Z","observations":107,"toolNames":["search_city","get_sun_times","get_vitamin_d_window","get_vitamin_d_year","configure_sun_profile","get_sun_forecast","compare_vitamin_d_year","get_current_status","estimate_sun_session","get_my_profile","get_my_cities","update_my_profile","get_my_history","log_sun_session","set_history_location"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_pr5p8hvr78ew","url":"https://getvitamind.app/api/mcp-auth/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-11T04:24:16.805Z","auth":{"observedAt":"2026-10-11T04:24:17.101Z","authRequired":true,"scheme":"Bearer","resourceMetadata":{"url":"https://getvitamind.app/.well-known/oauth-protected-resource","resource":"https://getvitamind.app/api/mcp-auth/mcp","authorizationServers":["https://getvitamind.app"],"scopesSupported":["profile:read","profile:write","history:read","history:write"]},"authorizationServer":{"url":"https://getvitamind.app/.well-known/oauth-authorization-server","issuer":"https://getvitamind.app","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-11T04:24:17.124Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"getvitamind.app","issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validFrom":"2026-08-28T06:42:26.000Z","validTo":"2026-11-26T06:42:25.000Z","daysToExpiry":45,"sanCount":1,"fingerprint256":"0C:CF:9F:4D:55:00:0E:F2:0D:8B:6E:B8:49:24:70:79:3F:4F:0B:AC:C1:33:34:B5:CE:FC:C9:BB:17:69:05:8F"}},{"id":"ep_csqmp78yefvv","url":"https://getvitamind.app/api/mcp/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T12:27:36.049Z","auth":{"observedAt":"2026-10-10T12:27:36.079Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-10T12:27:36.149Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"getvitamind.app","issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validFrom":"2026-08-28T06:42:26.000Z","validTo":"2026-11-26T06:42:25.000Z","daysToExpiry":45,"sanCount":1,"fingerprint256":"0C:CF:9F:4D:55:00:0E:F2:0D:8B:6E:B8:49:24:70:79:3F:4F:0B:AC:C1:33:34:B5:CE:FC:C9:BB:17:69:05:8F"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.JaviMaligno/vitamind","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.JaviMaligno%2Fvitamind","firstSeenAt":"2026-09-06T04:20:50.691Z","fetchedAt":"2026-10-09T22:20:26.796Z","normalizedAt":"2026-10-09T22:20:26.796Z"}]},"firstSeenAt":"2026-09-06T04:20:50.691Z","updatedAt":"2026-10-11T14:28:56.650Z"}