{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/google-ads-intent-mcp","description":"Dry-run-first Google Ads search-term intent analyzer and negative-keyword MCP for agents.","repository":{"url":"https://github.com/davidmosiah/google-ads-intent-mcp","source":"github"},"version":"0.1.1","websiteUrl":"https://github.com/davidmosiah/google-ads-intent-mcp","packages":[{"registryType":"pypi","identifier":"google-ads-intent-mcp","version":"0.1.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Google Ads developer token used only when live Google Ads access is configured.","format":"string","isSecret":true,"name":"GOOGLE_ADS_DEVELOPER_TOKEN"},{"description":"OAuth client ID used only when live Google Ads access is configured.","format":"string","name":"GOOGLE_ADS_CLIENT_ID"},{"description":"OAuth client secret used only when live Google Ads access is configured.","format":"string","isSecret":true,"name":"GOOGLE_ADS_CLIENT_SECRET"},{"description":"OAuth refresh token used only when live Google Ads access is configured.","format":"string","isSecret":true,"name":"GOOGLE_ADS_REFRESH_TOKEN"},{"description":"Google Ads customer ID for live account queries.","format":"string","name":"GOOGLE_ADS_CUSTOMER_ID"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-03T12:13:35.117833Z","publishedAt":"2026-07-03T12:13:35.117833Z","updatedAt":"2026-07-03T12:13:35.117833Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/google-ads-mcp","description":"Unofficial Google Ads MCP for campaigns, keywords, budgets, and gated mutations.","repository":{"url":"https://github.com/davidmosiah/google-ads-mcp-unofficial","source":"github"},"version":"0.1.3","websiteUrl":"https://github.com/davidmosiah/google-ads-mcp-unofficial","packages":[{"registryType":"npm","identifier":"google-ads-mcp-unofficial","version":"0.1.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Google Ads API developer token from your Google Ads Manager account. Required.","format":"string","isSecret":true,"name":"GOOGLE_ADS_DEVELOPER_TOKEN"},{"description":"Google OAuth2 client ID. Required.","format":"string","name":"GOOGLE_ADS_CLIENT_ID"},{"description":"Google OAuth2 client secret. Prefer storing in ~/.google-ads-mcp/config.json via setup.","format":"string","isSecret":true,"name":"GOOGLE_ADS_CLIENT_SECRET"},{"description":"Manager (MCC) customer ID used as login-customer-id header, no dashes (e.g., 1234567890). Optional but required for multi-account access.","format":"string","name":"GOOGLE_ADS_LOGIN_CUSTOMER_ID"},{"description":"OAuth redirect URI. Defaults to http://127.0.0.1:3000/callback.","format":"string","name":"GOOGLE_ADS_REDIRECT_URI"},{"description":"Optional local path for OAuth tokens. Defaults to ~/.google-ads-mcp/tokens.json (0600).","format":"string","name":"GOOGLE_ADS_TOKEN_PATH"},{"description":"Optional payload mode: summary, structured, or raw. Defaults to structured. raw returns full Google Ads API payloads.","format":"string","name":"GOOGLE_ADS_PRIVACY_MODE"},{"description":"Set to true to enable write tools (pause/resume keywords/campaigns, set bids, set budgets). Default false (read-only). Agents changing real ad spend is high-stakes; review every change.","format":"string","name":"GOOGLE_ADS_ALLOW_MUTATIONS"},{"description":"Optional SQLite cache toggle. Set to true or sqlite to enable.","format":"string","name":"GOOGLE_ADS_CACHE"},{"description":"Optional local SQLite cache path. Defaults to ~/.google-ads-mcp/cache.sqlite.","format":"string","name":"GOOGLE_ADS_CACHE_PATH"},{"description":"Optional cache TTL in seconds. Defaults to 60. Set to 0 to keep entries indefinitely (entries are still overwritten on each hit).","format":"string","name":"GOOGLE_ADS_CACHE_TTL_SECONDS"},{"description":"Set to true to disable the HTTP retry middleware. Default false.","format":"string","name":"GOOGLE_ADS_NO_RETRY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-03T12:02:45.900412Z","publishedAt":"2026-07-03T12:02:45.900412Z","updatedAt":"2026-07-03T12:02:45.900412Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/google-health-mcp","description":"Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents","repository":{"url":"https://github.com/davidmosiah/google-health-mcp","source":"github"},"version":"0.4.7","websiteUrl":"https://wellness.delx.ai/connectors/google-health","packages":[{"registryType":"npm","identifier":"google-health-mcp-unofficial","version":"0.4.7","transport":{"type":"stdio"},"environmentVariables":[{"description":"Google Cloud OAuth client ID for Google Health API. Optional when configured with google-health-mcp-server setup.","format":"string","name":"GOOGLE_HEALTH_CLIENT_ID"},{"description":"Google Cloud OAuth client secret. Prefer google-health-mcp-server setup so this secret is stored in ~/.google-health-mcp/config.json instead of MCP client config.","format":"string","isSecret":true,"name":"GOOGLE_HEALTH_CLIENT_SECRET"},{"description":"Redirect URI configured in the Google Cloud OAuth client. Optional when configured with google-health-mcp-server setup.","format":"string","name":"GOOGLE_HEALTH_REDIRECT_URI"},{"description":"Optional local path for OAuth tokens. Defaults to ~/.google-health-mcp/tokens.json.","format":"string","name":"GOOGLE_HEALTH_TOKEN_PATH"},{"description":"Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Google Health API payloads, not continuous 24/7 raw sensor telemetry.","format":"string","name":"GOOGLE_HEALTH_PRIVACY_MODE"},{"description":"Optional SQLite cache toggle. Set to true or sqlite to enable.","format":"string","name":"GOOGLE_HEALTH_CACHE"},{"description":"Optional local SQLite cache path. Defaults to ~/.google-health-mcp/cache.sqlite.","format":"string","name":"GOOGLE_HEALTH_CACHE_PATH"},{"description":"Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless.","format":"string","name":"GOOGLE_HEALTH_NO_CACHE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T18:27:23.762557Z","publishedAt":"2026-05-29T18:27:23.762557Z","updatedAt":"2026-05-29T18:27:23.762557Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/google-health-mcp","description":"Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents","repository":{"url":"https://github.com/davidmosiah/google-health-mcp","source":"github"},"version":"0.5.1","websiteUrl":"https://wellness.delx.ai/connectors/google-health","packages":[{"registryType":"npm","identifier":"google-health-mcp-unofficial","version":"0.5.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Google Cloud OAuth client ID for Google Health API. Optional when configured with google-health-mcp-server setup.","format":"string","name":"GOOGLE_HEALTH_CLIENT_ID"},{"description":"Google Cloud OAuth client secret. Prefer google-health-mcp-server setup so this secret is stored in ~/.google-health-mcp/config.json instead of MCP client config.","format":"string","isSecret":true,"name":"GOOGLE_HEALTH_CLIENT_SECRET"},{"description":"Redirect URI configured in the Google Cloud OAuth client. Optional when configured with google-health-mcp-server setup.","format":"string","name":"GOOGLE_HEALTH_REDIRECT_URI"},{"description":"Optional local path for OAuth tokens. Defaults to ~/.google-health-mcp/tokens.json.","format":"string","name":"GOOGLE_HEALTH_TOKEN_PATH"},{"description":"Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Google Health API payloads, not continuous 24/7 raw sensor telemetry.","format":"string","name":"GOOGLE_HEALTH_PRIVACY_MODE"},{"description":"Optional SQLite cache toggle. Set to true or sqlite to enable.","format":"string","name":"GOOGLE_HEALTH_CACHE"},{"description":"Optional local SQLite cache path. Defaults to ~/.google-health-mcp/cache.sqlite.","format":"string","name":"GOOGLE_HEALTH_CACHE_PATH"},{"description":"Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless.","format":"string","name":"GOOGLE_HEALTH_NO_CACHE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-03T11:20:42.922371Z","publishedAt":"2026-07-03T11:20:42.922371Z","updatedAt":"2026-07-03T11:20:42.922371Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/google-health-mcp","description":"Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents","repository":{"url":"https://github.com/davidmosiah/google-health-mcp","source":"github"},"version":"0.5.2","websiteUrl":"https://wellness.delx.ai/connectors/google-health","packages":[{"registryType":"npm","identifier":"google-health-mcp-unofficial","version":"0.5.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Google Cloud OAuth client ID for Google Health API. Optional when configured with google-health-mcp-server setup.","format":"string","name":"GOOGLE_HEALTH_CLIENT_ID"},{"description":"Google Cloud OAuth client secret. Prefer google-health-mcp-server setup so this secret is stored in ~/.google-health-mcp/config.json instead of MCP client config.","format":"string","isSecret":true,"name":"GOOGLE_HEALTH_CLIENT_SECRET"},{"description":"Redirect URI configured in the Google Cloud OAuth client. Optional when configured with google-health-mcp-server setup.","format":"string","name":"GOOGLE_HEALTH_REDIRECT_URI"},{"description":"Optional local path for OAuth tokens. Defaults to ~/.google-health-mcp/tokens.json.","format":"string","name":"GOOGLE_HEALTH_TOKEN_PATH"},{"description":"Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Google Health API payloads, not continuous 24/7 raw sensor telemetry.","format":"string","name":"GOOGLE_HEALTH_PRIVACY_MODE"},{"description":"Optional SQLite cache toggle. Set to true or sqlite to enable.","format":"string","name":"GOOGLE_HEALTH_CACHE"},{"description":"Optional local SQLite cache path. Defaults to ~/.google-health-mcp/cache.sqlite.","format":"string","name":"GOOGLE_HEALTH_CACHE_PATH"},{"description":"Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless.","format":"string","name":"GOOGLE_HEALTH_NO_CACHE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-13T19:14:10.265564Z","publishedAt":"2026-07-13T19:14:10.265564Z","updatedAt":"2026-07-13T19:14:10.265564Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/mcp-scorecard","description":"Agent-readiness scorecard for any MCP server: 10 checks, 0-100 score, actionable findings.","repository":{"url":"https://github.com/davidmosiah/mcp-scorecard","source":"github"},"version":"0.1.2","websiteUrl":"https://github.com/davidmosiah/mcp-scorecard","packages":[{"registryType":"npm","identifier":"mcp-scorecard","version":"0.1.2","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T18:32:29.306072Z","publishedAt":"2026-05-29T18:32:29.306072Z","updatedAt":"2026-05-29T18:32:29.306072Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/mcp-scorecard","description":"Agent-readiness scorecard for any MCP server: 10 checks, 0-100 score, actionable findings.","repository":{"url":"https://github.com/davidmosiah/mcp-scorecard","source":"github"},"version":"0.1.3","websiteUrl":"https://github.com/davidmosiah/mcp-scorecard","packages":[{"registryType":"npm","identifier":"mcp-scorecard","version":"0.1.3","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T19:10:33.066158Z","publishedAt":"2026-05-29T19:10:33.066158Z","updatedAt":"2026-05-29T19:10:33.066158Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/mcp-scorecard","description":"Agent-readiness scorecard for any MCP server: 10 checks, 0-100 score, actionable findings.","repository":{"url":"https://github.com/davidmosiah/mcp-scorecard","source":"github"},"version":"0.5.0","websiteUrl":"https://github.com/davidmosiah/mcp-scorecard","packages":[{"registryType":"npm","identifier":"mcp-scorecard","version":"0.5.0","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-13T19:02:51.898531Z","publishedAt":"2026-07-13T19:02:51.898531Z","updatedAt":"2026-07-13T19:02:51.898531Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/mcp-scorecard","description":"Agent-readiness scorecard for any MCP server: 10 checks, 0-100 score, actionable findings.","repository":{"url":"https://github.com/davidmosiah/mcp-scorecard","source":"github"},"version":"0.5.1","websiteUrl":"https://github.com/davidmosiah/mcp-scorecard","packages":[{"registryType":"npm","identifier":"mcp-scorecard","version":"0.5.1","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-03T12:02:43.299475Z","publishedAt":"2026-07-03T12:02:43.299475Z","updatedAt":"2026-07-03T12:02:43.299475Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/ouramcp","description":"Privacy-first, unofficial Oura MCP server for AI health, sleep, activity and heart-rate agents.","repository":{"url":"https://github.com/davidmosiah/ouramcp","source":"github"},"version":"0.1.1","packages":[{"registryType":"npm","identifier":"oura-mcp-unofficial","version":"0.1.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Oura OAuth client ID. Optional when configured with oura-mcp-server setup.","format":"string","name":"OURA_CLIENT_ID"},{"description":"Oura OAuth client secret. Prefer oura-mcp-server setup so this secret is stored in ~/.oura-mcp/config.json instead of MCP client config.","format":"string","isSecret":true,"name":"OURA_CLIENT_SECRET"},{"description":"Redirect URI configured in the Oura Developer Dashboard. Optional when configured with oura-mcp-server setup.","format":"string","name":"OURA_REDIRECT_URI"},{"description":"Optional local path for OAuth tokens. Defaults to ~/.oura-mcp/tokens.json.","format":"string","name":"OURA_TOKEN_PATH"},{"description":"Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Oura API payloads, not continuous 24/7 raw sensor telemetry.","format":"string","name":"OURA_PRIVACY_MODE"},{"description":"Optional SQLite cache toggle. Set to true or sqlite to enable.","format":"string","name":"OURA_CACHE"},{"description":"Optional local SQLite cache path. Defaults to ~/.oura-mcp/cache.sqlite.","format":"string","name":"OURA_CACHE_PATH"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-05T16:47:07.669144Z","publishedAt":"2026-05-05T16:47:07.669144Z","updatedAt":"2026-05-05T16:47:07.669144Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/ouramcp","description":"Privacy-first, unofficial Oura MCP server for AI health, sleep, activity and heart-rate agents.","repository":{"url":"https://github.com/davidmosiah/oura-mcp","source":"github"},"version":"0.4.5","websiteUrl":"https://wellness.delx.ai/connectors/oura","packages":[{"registryType":"npm","identifier":"oura-mcp-unofficial","version":"0.4.5","transport":{"type":"stdio"},"environmentVariables":[{"description":"Oura OAuth client ID. Optional when configured with oura-mcp-server setup.","format":"string","name":"OURA_CLIENT_ID"},{"description":"Oura OAuth client secret. Prefer oura-mcp-server setup so this secret is stored in ~/.oura-mcp/config.json instead of MCP client config.","format":"string","isSecret":true,"name":"OURA_CLIENT_SECRET"},{"description":"Redirect URI configured in the Oura Developer Dashboard. Optional when configured with oura-mcp-server setup.","format":"string","name":"OURA_REDIRECT_URI"},{"description":"Optional local path for OAuth tokens. Defaults to ~/.oura-mcp/tokens.json.","format":"string","name":"OURA_TOKEN_PATH"},{"description":"Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Oura API payloads, not continuous 24/7 raw sensor telemetry.","format":"string","name":"OURA_PRIVACY_MODE"},{"description":"Optional SQLite cache toggle. Set to true or sqlite to enable.","format":"string","name":"OURA_CACHE"},{"description":"Optional local SQLite cache path. Defaults to ~/.oura-mcp/cache.sqlite.","format":"string","name":"OURA_CACHE_PATH"},{"description":"Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless.","format":"string","name":"OURA_NO_CACHE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T18:24:18.451539Z","publishedAt":"2026-05-29T18:24:18.451539Z","updatedAt":"2026-05-29T18:24:18.451539Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/ouramcp","description":"Privacy-first, unofficial Oura MCP server for AI health, sleep, activity and heart-rate agents.","repository":{"url":"https://github.com/davidmosiah/oura-mcp","source":"github"},"version":"0.4.6","websiteUrl":"https://wellness.delx.ai/connectors/oura","packages":[{"registryType":"npm","identifier":"oura-mcp-unofficial","version":"0.4.6","transport":{"type":"stdio"},"environmentVariables":[{"description":"Oura OAuth client ID. Optional when configured with oura-mcp-server setup.","format":"string","name":"OURA_CLIENT_ID"},{"description":"Oura OAuth client secret. Prefer oura-mcp-server setup so this secret is stored in ~/.oura-mcp/config.json instead of MCP client config.","format":"string","isSecret":true,"name":"OURA_CLIENT_SECRET"},{"description":"Redirect URI configured in the Oura Developer Dashboard. Optional when configured with oura-mcp-server setup.","format":"string","name":"OURA_REDIRECT_URI"},{"description":"Optional local path for OAuth tokens. Defaults to ~/.oura-mcp/tokens.json.","format":"string","name":"OURA_TOKEN_PATH"},{"description":"Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Oura API payloads, not continuous 24/7 raw sensor telemetry.","format":"string","name":"OURA_PRIVACY_MODE"},{"description":"Optional SQLite cache toggle. Set to true or sqlite to enable.","format":"string","name":"OURA_CACHE"},{"description":"Optional local SQLite cache path. Defaults to ~/.oura-mcp/cache.sqlite.","format":"string","name":"OURA_CACHE_PATH"},{"description":"Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless.","format":"string","name":"OURA_NO_CACHE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T18:56:15.606239Z","publishedAt":"2026-05-29T18:56:15.606239Z","updatedAt":"2026-05-29T18:56:15.606239Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/polarmcp","description":"Privacy-first MCP server for Polar AccessLink — health, sleep and training data.","repository":{"url":"https://github.com/davidmosiah/polarmcp","source":"github"},"version":"0.1.2","packages":[{"registryType":"npm","identifier":"polar-mcp-unofficial","version":"0.1.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Polar OAuth client ID. Optional when configured with polar-mcp-server setup.","format":"string","name":"POLAR_CLIENT_ID"},{"description":"Polar OAuth client secret. Prefer polar-mcp-server setup so this secret is stored in ~/.polar-mcp/config.json instead of MCP client config.","format":"string","isSecret":true,"name":"POLAR_CLIENT_SECRET"},{"description":"Redirect URI configured in the Polar AccessLink admin. Optional when configured with polar-mcp-server setup.","format":"string","name":"POLAR_REDIRECT_URI"},{"description":"Optional local path for OAuth tokens. Defaults to ~/.polar-mcp/tokens.json.","format":"string","name":"POLAR_TOKEN_PATH"},{"description":"Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Polar AccessLink payloads for supported endpoints.","format":"string","name":"POLAR_PRIVACY_MODE"},{"description":"Optional SQLite cache toggle. Set to true or sqlite to enable.","format":"string","name":"POLAR_CACHE"},{"description":"Optional local SQLite cache path. Defaults to ~/.polar-mcp/cache.sqlite.","format":"string","name":"POLAR_CACHE_PATH"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-05T16:47:09.441071Z","publishedAt":"2026-05-05T16:47:09.441071Z","updatedAt":"2026-05-05T16:47:09.441071Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/polarmcp","description":"Privacy-first unofficial Polar AccessLink v4 MCP server for AI health, sleep and training agents.","repository":{"url":"https://github.com/davidmosiah/polar-mcp","source":"github"},"version":"0.3.5","websiteUrl":"https://wellness.delx.ai/connectors/polar","packages":[{"registryType":"npm","identifier":"polar-mcp-unofficial","version":"0.3.5","transport":{"type":"stdio"},"environmentVariables":[{"description":"Polar OAuth client ID. Optional when configured with polar-mcp-server setup.","format":"string","name":"POLAR_CLIENT_ID"},{"description":"Polar OAuth client secret. Prefer polar-mcp-server setup so this secret is stored in ~/.polar-mcp/config.json instead of MCP client config.","format":"string","isSecret":true,"name":"POLAR_CLIENT_SECRET"},{"description":"Redirect URI configured in the Polar AccessLink admin. Optional when configured with polar-mcp-server setup.","format":"string","name":"POLAR_REDIRECT_URI"},{"description":"Optional local path for OAuth tokens. Defaults to ~/.polar-mcp/tokens.json.","format":"string","name":"POLAR_TOKEN_PATH"},{"description":"Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Polar AccessLink payloads for supported endpoints.","format":"string","name":"POLAR_PRIVACY_MODE"},{"description":"Optional SQLite cache toggle. Set to true or sqlite to enable.","format":"string","name":"POLAR_CACHE"},{"description":"Optional local SQLite cache path. Defaults to ~/.polar-mcp/cache.sqlite.","format":"string","name":"POLAR_CACHE_PATH"},{"description":"Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless.","format":"string","name":"POLAR_NO_CACHE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T18:25:14.529958Z","publishedAt":"2026-05-29T18:25:14.529958Z","updatedAt":"2026-05-29T18:25:14.529958Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/polarmcp","description":"Privacy-first unofficial Polar AccessLink v4 MCP server for AI health, sleep and training agents.","repository":{"url":"https://github.com/davidmosiah/polar-mcp","source":"github"},"version":"0.3.6","websiteUrl":"https://wellness.delx.ai/connectors/polar","packages":[{"registryType":"npm","identifier":"polar-mcp-unofficial","version":"0.3.6","transport":{"type":"stdio"},"environmentVariables":[{"description":"Polar OAuth client ID. Optional when configured with polar-mcp-server setup.","format":"string","name":"POLAR_CLIENT_ID"},{"description":"Polar OAuth client secret. Prefer polar-mcp-server setup so this secret is stored in ~/.polar-mcp/config.json instead of MCP client config.","format":"string","isSecret":true,"name":"POLAR_CLIENT_SECRET"},{"description":"Redirect URI configured in the Polar AccessLink admin. Optional when configured with polar-mcp-server setup.","format":"string","name":"POLAR_REDIRECT_URI"},{"description":"Optional local path for OAuth tokens. Defaults to ~/.polar-mcp/tokens.json.","format":"string","name":"POLAR_TOKEN_PATH"},{"description":"Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Polar AccessLink payloads for supported endpoints.","format":"string","name":"POLAR_PRIVACY_MODE"},{"description":"Optional SQLite cache toggle. Set to true or sqlite to enable.","format":"string","name":"POLAR_CACHE"},{"description":"Optional local SQLite cache path. Defaults to ~/.polar-mcp/cache.sqlite.","format":"string","name":"POLAR_CACHE_PATH"},{"description":"Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless.","format":"string","name":"POLAR_NO_CACHE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-13T19:03:57.471711Z","publishedAt":"2026-07-13T19:03:57.471711Z","updatedAt":"2026-07-13T19:03:57.471711Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/samsung-health-mcp","description":"Unofficial local-first MCP server for Samsung Health personal-data CSV/ZIP exports.","repository":{"url":"https://github.com/davidmosiah/samsung-health-mcp","source":"github"},"version":"0.5.0","websiteUrl":"https://wellness.delx.ai/connectors/samsung-health","packages":[{"registryType":"npm","identifier":"samsung-health-mcp-unofficial","version":"0.5.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Path to a Samsung Health personal-data folder, .csv file, or .zip containing CSV files.","format":"string","name":"SAMSUNG_HEALTH_EXPORT_PATH"},{"description":"IANA timezone used to interpret daily and weekly local-day summaries.","format":"string","name":"SAMSUNG_HEALTH_TIMEZONE"},{"description":"summary, structured, or raw. Defaults to summary.","format":"string","name":"SAMSUNG_HEALTH_PRIVACY_MODE"},{"description":"Optional folder watched for new Samsung Health exports. The newest export dropped here is auto-promoted to the active export on startup, live, and via the samsung_health_reimport tool.","format":"string","name":"SAMSUNG_HEALTH_WATCH_PATH"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T18:26:45.619828Z","publishedAt":"2026-05-29T18:26:45.619828Z","updatedAt":"2026-05-29T18:26:45.619828Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/short-video-agent-kit","description":"Provider-neutral short-form AI video toolkit for agents: Sora, Gemini Veo, xAI/Grok, Seedance.","title":"Short Video Agent Kit","repository":{"url":"https://github.com/davidmosiah/short-video-agent-kit","source":"github"},"version":"0.1.6","websiteUrl":"https://github.com/davidmosiah/short-video-agent-kit","packages":[{"registryType":"npm","identifier":"short-video-agent-kit","version":"0.1.6","transport":{"type":"stdio"},"environmentVariables":[{"description":"Set to false only when the agent should call paid video providers. Defaults to dry-run behavior.","format":"string","name":"SHORT_VIDEO_DRY_RUN"},{"description":"Optional API key for OpenAI/Sora provider calls.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Optional API key for Gemini Veo provider calls.","format":"string","isSecret":true,"name":"GEMINI_API_KEY"},{"description":"Optional API key for xAI/Grok provider calls.","format":"string","isSecret":true,"name":"XAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T18:30:00.209293Z","publishedAt":"2026-05-29T18:30:00.209293Z","updatedAt":"2026-05-29T18:30:00.209293Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/short-video-agent-kit","description":"Provider-neutral short-form AI video toolkit for agents: Sora, Gemini Veo, xAI/Grok, Seedance.","title":"Short Video Agent Kit","repository":{"url":"https://github.com/davidmosiah/short-video-agent-kit","source":"github"},"version":"0.1.7","websiteUrl":"https://github.com/davidmosiah/short-video-agent-kit","packages":[{"registryType":"npm","identifier":"short-video-agent-kit","version":"0.1.7","transport":{"type":"stdio"},"environmentVariables":[{"description":"Set to false only when the agent should call paid video providers. Defaults to dry-run behavior.","format":"string","name":"SHORT_VIDEO_DRY_RUN"},{"description":"Optional API key for OpenAI/Sora provider calls.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Optional API key for Gemini Veo provider calls.","format":"string","isSecret":true,"name":"GEMINI_API_KEY"},{"description":"Optional API key for xAI/Grok provider calls.","format":"string","isSecret":true,"name":"XAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T18:58:44.348965Z","publishedAt":"2026-05-29T18:58:44.348965Z","updatedAt":"2026-05-29T18:58:44.348965Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/strava-mcp","description":"Privacy-first MCP server for Strava activities, streams, routes and training.","repository":{"url":"https://github.com/davidmosiah/strava-mcp","source":"github"},"version":"0.1.2","packages":[{"registryType":"npm","identifier":"strava-mcp-unofficial","version":"0.1.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Strava OAuth client ID. Optional when configured with strava-mcp-server setup.","format":"string","name":"STRAVA_CLIENT_ID"},{"description":"Strava OAuth client secret. Prefer strava-mcp-server setup so this secret is stored in ~/.strava-mcp/config.json instead of MCP client config.","format":"string","isSecret":true,"name":"STRAVA_CLIENT_SECRET"},{"description":"Redirect URI configured in the Strava Developer Dashboard. Optional when configured with strava-mcp-server setup.","format":"string","name":"STRAVA_REDIRECT_URI"},{"description":"Optional local path for OAuth tokens. Defaults to ~/.strava-mcp/tokens.json.","format":"string","name":"STRAVA_TOKEN_PATH"},{"description":"Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Strava API payloads, not continuous 24/7 raw sensor telemetry.","format":"string","name":"STRAVA_PRIVACY_MODE"},{"description":"Optional SQLite cache toggle. Set to true or sqlite to enable.","format":"string","name":"STRAVA_CACHE"},{"description":"Optional local SQLite cache path. Defaults to ~/.strava-mcp/cache.sqlite.","format":"string","name":"STRAVA_CACHE_PATH"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-04T14:07:17.917431Z","publishedAt":"2026-05-04T14:07:17.917431Z","updatedAt":"2026-05-04T14:07:17.917431Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/strava-mcp","description":"Privacy-first MCP server for Strava activities, streams, routes and training.","repository":{"url":"https://github.com/davidmosiah/strava-mcp","source":"github"},"version":"0.4.5","websiteUrl":"https://wellness.delx.ai/connectors/strava","packages":[{"registryType":"npm","identifier":"strava-mcp-unofficial","version":"0.4.5","transport":{"type":"stdio"},"environmentVariables":[{"description":"Strava OAuth client ID. Optional when configured with strava-mcp-server setup.","format":"string","name":"STRAVA_CLIENT_ID"},{"description":"Strava OAuth client secret. Prefer strava-mcp-server setup so this secret is stored in ~/.strava-mcp/config.json instead of MCP client config.","format":"string","isSecret":true,"name":"STRAVA_CLIENT_SECRET"},{"description":"Redirect URI configured in the Strava Developer Dashboard. Optional when configured with strava-mcp-server setup.","format":"string","name":"STRAVA_REDIRECT_URI"},{"description":"Optional local path for OAuth tokens. Defaults to ~/.strava-mcp/tokens.json.","format":"string","name":"STRAVA_TOKEN_PATH"},{"description":"Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Strava API payloads, not continuous 24/7 raw sensor telemetry.","format":"string","name":"STRAVA_PRIVACY_MODE"},{"description":"Optional SQLite cache toggle. Set to true or sqlite to enable.","format":"string","name":"STRAVA_CACHE"},{"description":"Optional local SQLite cache path. Defaults to ~/.strava-mcp/cache.sqlite.","format":"string","name":"STRAVA_CACHE_PATH"},{"description":"Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless.","format":"string","name":"STRAVA_NO_CACHE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T18:23:17.714642Z","publishedAt":"2026-05-29T18:23:17.714642Z","updatedAt":"2026-05-29T18:23:17.714642Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/strava-mcp","description":"Privacy-first MCP server for Strava activities, streams, routes and training.","repository":{"url":"https://github.com/davidmosiah/strava-mcp","source":"github"},"version":"0.4.6","websiteUrl":"https://wellness.delx.ai/connectors/strava","packages":[{"registryType":"npm","identifier":"strava-mcp-unofficial","version":"0.4.6","transport":{"type":"stdio"},"environmentVariables":[{"description":"Strava OAuth client ID. Optional when configured with strava-mcp-server setup.","format":"string","name":"STRAVA_CLIENT_ID"},{"description":"Strava OAuth client secret. Prefer strava-mcp-server setup so this secret is stored in ~/.strava-mcp/config.json instead of MCP client config.","format":"string","isSecret":true,"name":"STRAVA_CLIENT_SECRET"},{"description":"Redirect URI configured in the Strava Developer Dashboard. Optional when configured with strava-mcp-server setup.","format":"string","name":"STRAVA_REDIRECT_URI"},{"description":"Optional local path for OAuth tokens. Defaults to ~/.strava-mcp/tokens.json.","format":"string","name":"STRAVA_TOKEN_PATH"},{"description":"Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Strava API payloads, not continuous 24/7 raw sensor telemetry.","format":"string","name":"STRAVA_PRIVACY_MODE"},{"description":"Optional SQLite cache toggle. Set to true or sqlite to enable.","format":"string","name":"STRAVA_CACHE"},{"description":"Optional local SQLite cache path. Defaults to ~/.strava-mcp/cache.sqlite.","format":"string","name":"STRAVA_CACHE_PATH"},{"description":"Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless.","format":"string","name":"STRAVA_NO_CACHE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T18:52:22.24013Z","publishedAt":"2026-05-29T18:52:22.24013Z","updatedAt":"2026-05-29T18:52:22.24013Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/tiktok-agent-publisher","description":"Local-first TikTok Content Posting API for AI agents: OAuth checks, dry-run and live uploads.","title":"TikTok Agent Publisher","repository":{"url":"https://github.com/davidmosiah/tiktok-agent-publisher","source":"github"},"version":"0.1.4","websiteUrl":"https://github.com/davidmosiah/tiktok-agent-publisher","packages":[{"registryType":"npm","identifier":"tiktok-agent-publisher","version":"0.1.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"Set to false only when the agent should perform live TikTok upload operations. Defaults to dry-run behavior.","format":"string","name":"TIKTOK_DRY_RUN"},{"description":"TikTok developer app client key. Optional until OAuth or live upload flows are used.","format":"string","name":"TIKTOK_CLIENT_KEY"},{"description":"TikTok developer app client secret. Keep local and do not expose it to agents.","format":"string","isSecret":true,"name":"TIKTOK_CLIENT_SECRET"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T18:31:07.61318Z","publishedAt":"2026-05-29T18:31:07.61318Z","updatedAt":"2026-05-29T18:31:07.61318Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/tiktok-agent-publisher","description":"Local-first TikTok Content Posting API for AI agents: OAuth checks, dry-run and live uploads.","title":"TikTok Agent Publisher","repository":{"url":"https://github.com/davidmosiah/tiktok-agent-publisher","source":"github"},"version":"0.1.5","websiteUrl":"https://github.com/davidmosiah/tiktok-agent-publisher","packages":[{"registryType":"npm","identifier":"tiktok-agent-publisher","version":"0.1.5","transport":{"type":"stdio"},"environmentVariables":[{"description":"Set to false only when the agent should perform live TikTok upload operations. Defaults to dry-run behavior.","format":"string","name":"TIKTOK_DRY_RUN"},{"description":"TikTok developer app client key. Optional until OAuth or live upload flows are used.","format":"string","name":"TIKTOK_CLIENT_KEY"},{"description":"TikTok developer app client secret. Keep local and do not expose it to agents.","format":"string","isSecret":true,"name":"TIKTOK_CLIENT_SECRET"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T19:20:49.538559Z","publishedAt":"2026-05-29T19:20:49.538559Z","updatedAt":"2026-05-29T19:20:49.538559Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/timeline-pulse","description":"Source-aware archive for timeline-shift folklore, Mandela Effect reports, and collider myths.","repository":{"url":"https://github.com/davidmosiah/timeline-pulse","source":"github"},"version":"0.1.1","websiteUrl":"https://timeline-pulse.vercel.app","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"timeline-pulse","version":"0.1.1","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-03T12:08:07.324232Z","publishedAt":"2026-07-03T12:08:07.324232Z","updatedAt":"2026-07-03T12:08:07.324232Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/uap-pulse","description":"Search and map declassified Pentagon UAP/UFO files from the PURSUE release.","repository":{"url":"https://github.com/davidmosiah/uap-pulse","source":"github"},"version":"0.3.2","websiteUrl":"https://uap-pulse.vercel.app","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"uap-pulse","version":"0.3.2","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-03T12:08:08.044605Z","publishedAt":"2026-07-03T12:08:08.044605Z","updatedAt":"2026-07-03T12:08:08.044605Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/uap-pulse","description":"Search and map declassified Pentagon UAP/UFO files from the PURSUE release.","repository":{"url":"https://github.com/davidmosiah/uap-pulse","source":"github"},"version":"0.3.3","websiteUrl":"https://uap-pulse.vercel.app","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"uap-pulse","version":"0.3.3","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-03T12:26:27.762453Z","publishedAt":"2026-07-03T12:26:27.762453Z","updatedAt":"2026-07-03T12:26:27.762453Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/uap-pulse","description":"Search and map the Pentagon UAP/UFO releases plus curated official archives from 12 nations.","repository":{"url":"https://github.com/davidmosiah/uap-pulse","source":"github"},"version":"0.4.0","websiteUrl":"https://uap-pulse.vercel.app","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"uap-pulse","version":"0.4.0","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-13T19:08:09.092427Z","publishedAt":"2026-07-13T19:08:09.092427Z","updatedAt":"2026-07-13T19:08:09.092427Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/wellness-air","description":"Local-first air-quality MCP for AI agents — AirGradient, AirThings, PurpleAir, IQAir, Awair.","repository":{"url":"https://github.com/davidmosiah/wellness-air","source":"github"},"version":"0.5.6","websiteUrl":"https://wellness.delx.ai/connectors/air","packages":[{"registryType":"npm","identifier":"wellness-air","version":"0.5.6","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-03T12:02:44.921304Z","publishedAt":"2026-07-03T12:02:44.921304Z","updatedAt":"2026-07-03T12:02:44.921304Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/wellness-cgm-mcp","description":"Local-first CGM MCP for AI agents: Dexcom Developer API + FreeStyle Libre via LibreLink Up.","repository":{"url":"https://github.com/davidmosiah/wellness-cgm-mcp","source":"github"},"version":"0.4.0","websiteUrl":"https://wellness.delx.ai/connectors/cgm","packages":[{"registryType":"npm","identifier":"wellness-cgm-mcp","version":"0.4.0","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T18:28:44.47988Z","publishedAt":"2026-05-29T18:28:44.47988Z","updatedAt":"2026-05-29T18:28:44.47988Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.davidmosiah/wellness-cycle-coach","description":"Local-first cycle coach MCP for phase-aware nutrition and training context.","repository":{"url":"https://github.com/davidmosiah/wellness-cycle-coach","source":"github"},"version":"0.3.5","websiteUrl":"https://wellness.delx.ai/connectors/cycle","packages":[{"registryType":"npm","identifier":"wellness-cycle-coach","version":"0.3.5","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-03T12:02:44.16337Z","publishedAt":"2026-07-03T12:02:44.16337Z","updatedAt":"2026-07-03T12:02:44.16337Z","isLatest":true}}}],"metadata":{"nextCursor":"io.github.davidmosiah/wellness-cycle-coach:0.3.5","count":30}}
