{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"com.brianbooms/quiet-menders","description":"Free privacy tools for AI agents: attestation, scrubbing, clinic diagnosis. No tracking.","title":"Quiet Menders","repository":{"url":"https://github.com/brianbooms/quiet-menders","source":"github"},"version":"1.0.0","websiteUrl":"https://brianbooms.com","remotes":[{"type":"streamable-http","url":"https://quiet-menders-mcp.brianbooms.workers.dev/mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-23T14:46:59.821263Z","publishedAt":"2026-09-23T14:46:59.821263Z","updatedAt":"2026-09-23T14:46:59.821263Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"com.brianbooms/quiet-menders","description":"Privacy clinic + pay-per-call data APIs for AI agents via x402. Never pays or touches keys.","title":"Quiet Menders","repository":{"url":"https://github.com/brianbooms/quiet-menders","source":"github"},"version":"1.3.0","websiteUrl":"https://brianbooms.com","remotes":[{"type":"streamable-http","url":"https://mcp.brianbooms.com/mcp"},{"type":"streamable-http","url":"https://quiet-menders-mcp.brianbooms.workers.dev/mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-28T04:50:55.868146Z","publishedAt":"2026-09-28T04:50:55.868146Z","updatedAt":"2026-09-28T04:50:55.868146Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.asanabrial/leteo","description":"Persistent memory for AI coding agents: one Rust binary, one local SQLite database.","title":"Leteo","repository":{"url":"https://github.com/asanabrial/leteo","source":"github"},"version":"0.1.0","packages":[{"registryType":"cargo","identifier":"leteo","version":"0.1.0","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"},{"description":"Which tools the server exposes. `agent` is the nineteen an agent reaches for while it works; the three that change or count the whole store sit behind `admin`.","value":"agent","type":"named","name":"--tools"}],"environmentVariables":[{"description":"Where the database lives. Defaults to ~/.leteo, and only needs setting for a store kept somewhere else — the server is started by the agent rather than by a person, so it cannot inherit a shell's environment.","format":"filepath","name":"LETEO_DATA_DIR"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-11T20:48:06.900018Z","publishedAt":"2026-08-11T20:48:06.900018Z","updatedAt":"2026-08-11T20:48:06.900018Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.asanabrial/leteo","description":"Persistent memory for AI coding agents: one Rust binary, one local SQLite database.","title":"Leteo","repository":{"url":"https://github.com/asanabrial/leteo","source":"github"},"version":"0.1.2","packages":[{"registryType":"cargo","identifier":"leteo","version":"0.1.2","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"},{"description":"Which tools the server exposes. `agent` is the nineteen an agent reaches for while it works; the three that change or count the whole store sit behind `admin`.","value":"agent","type":"named","name":"--tools"}],"environmentVariables":[{"description":"Where the database lives. Defaults to ~/.leteo, and only needs setting for a store kept somewhere else — the server is started by the agent rather than by a person, so it cannot inherit a shell's environment.","format":"filepath","name":"LETEO_DATA_DIR"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-12T20:26:04.888634Z","publishedAt":"2026-08-12T20:26:04.888634Z","updatedAt":"2026-08-12T20:26:04.888634Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.asanabrial/leteo","description":"Persistent memory for AI coding agents: one Rust binary, one local SQLite database.","title":"Leteo","repository":{"url":"https://github.com/asanabrial/leteo","source":"github"},"version":"0.2.1","packages":[{"registryType":"cargo","identifier":"leteo","version":"0.2.1","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"},{"description":"Which tools the server exposes. `agent` is the nineteen an agent reaches for while it works; the three that change or count the whole store sit behind `admin`.","value":"agent","type":"named","name":"--tools"}],"environmentVariables":[{"description":"Where the database lives. Defaults to ~/.leteo, and only needs setting for a store kept somewhere else — the server is started by the agent rather than by a person, so it cannot inherit a shell's environment.","format":"filepath","name":"LETEO_DATA_DIR"}]},{"registryType":"npm","identifier":"@asanabrial/leteo","version":"0.2.1","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"},{"description":"Which tools the server exposes. `agent` is the nineteen an agent reaches for while it works; the three that change or count the whole store sit behind `admin`.","value":"agent","type":"named","name":"--tools"}],"environmentVariables":[{"description":"Where the database lives. Defaults to ~/.leteo, and only needs setting for a store kept somewhere else — the server is started by the agent rather than by a person, so it cannot inherit a shell's environment.","format":"filepath","name":"LETEO_DATA_DIR"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-01T23:13:28.91086Z","publishedAt":"2026-09-01T23:13:28.91086Z","updatedAt":"2026-09-01T23:13:28.91086Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.asanabrial/leteo","description":"Persistent memory for AI coding agents: one Rust binary, one local SQLite database.","title":"Leteo","repository":{"url":"https://github.com/asanabrial/leteo","source":"github"},"version":"0.3.0","packages":[{"registryType":"cargo","identifier":"leteo","version":"0.3.0","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"},{"description":"Which tools the server exposes. `agent` is the nineteen an agent reaches for while it works; the three that change or count the whole store sit behind `admin`.","value":"agent","type":"named","name":"--tools"}],"environmentVariables":[{"description":"Where the database lives. Defaults to ~/.leteo, and only needs setting for a store kept somewhere else — the server is started by the agent rather than by a person, so it cannot inherit a shell's environment.","format":"filepath","name":"LETEO_DATA_DIR"}]},{"registryType":"npm","identifier":"@asanabrial/leteo","version":"0.3.0","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"},{"description":"Which tools the server exposes. `agent` is the nineteen an agent reaches for while it works; the three that change or count the whole store sit behind `admin`.","value":"agent","type":"named","name":"--tools"}],"environmentVariables":[{"description":"Where the database lives. Defaults to ~/.leteo, and only needs setting for a store kept somewhere else — the server is started by the agent rather than by a person, so it cannot inherit a shell's environment.","format":"filepath","name":"LETEO_DATA_DIR"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-06T22:57:29.171566Z","publishedAt":"2026-10-06T22:57:29.171566Z","updatedAt":"2026-10-06T22:57:29.171566Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json","name":"io.github.brian-mitchell-sec/workspace-tools","description":"Research honeypot. Logs connections and tool arguments; injects instructions. Read README first.","repository":{"url":"https://github.com/brian-mitchell-sec/workspace-tools-mcp","source":"github"},"version":"0.2.0","remotes":[{"type":"streamable-http","url":"https://vandorla.com/mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-05T23:25:44.220417Z","publishedAt":"2026-08-05T23:25:44.220417Z","updatedAt":"2026-08-05T23:25:44.220417Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.brian8a1/atisbo","description":"MCP tools over one Atisbo workspace: Signals, Opportunities, Backlog, Decisions, Living Documents.","title":"Atisbo","version":"1.0.0","websiteUrl":"https://app.atisbo.dev/docs/api/mcp-server","remotes":[{"type":"streamable-http","url":"https://app.atisbo.dev/api/mcp","headers":[{"description":"Workspace-scoped Atisbo MCP key. Create one in the app under Settings → Account → Connect agents.","isRequired":true,"value":"Bearer {atisbo_mcp_key}","isSecret":true,"name":"Authorization"}],"variables":{"atisbo_mcp_key":{"description":"MCP server key generated in the Atisbo app; scoped to one workspace and revocable there.","isRequired":true,"isSecret":true}}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-24T01:33:44.98927Z","publishedAt":"2026-08-24T01:33:44.98927Z","updatedAt":"2026-08-24T01:33:44.98927Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.brian8a1/atisbo-docs","description":"Read-only search and page retrieval from the public Atisbo documentation corpus. No authentication.","title":"Atisbo Documentation","version":"1.0.0","websiteUrl":"https://app.atisbo.dev/docs/api/mcp-server","remotes":[{"type":"streamable-http","url":"https://app.atisbo.dev/api/mcp-docs"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-24T01:33:46.085424Z","publishedAt":"2026-08-24T01:33:46.085424Z","updatedAt":"2026-08-24T01:33:46.085424Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.brianbooms/brianbooms-mcp","description":"Brian Booms x402 product catalog as agent tools. Read-only.","title":"Brian Booms MCP","repository":{"url":"https://github.com/brianbooms/brianbooms-mcp","source":"github","id":"1368909768"},"version":"1.0.6","packages":[{"registryType":"npm","identifier":"brianbooms-mcp","version":"1.0.6","runtimeHint":"npx","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-29T10:22:36.195799Z","publishedAt":"2026-09-29T10:22:36.195799Z","updatedAt":"2026-09-29T10:22:36.195799Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.brianbooms/brianbooms-mcp","description":"Brian Booms x402 product catalog as agent tools. Read-only.","title":"Brian Booms MCP","repository":{"url":"https://github.com/brianbooms/brianbooms-mcp","source":"github","id":"1368909768"},"version":"1.0.7","packages":[{"registryType":"npm","identifier":"brianbooms-mcp","version":"1.0.7","runtimeHint":"npx","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-29T20:54:22.536439Z","publishedAt":"2026-09-29T20:54:22.536439Z","updatedAt":"2026-09-29T20:54:22.536439Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.brianfofficial/retentioncheck-mcp-server","description":"Pull churn from Stripe or pasted feedback. AI-ranked drivers with severity + actionable fixes.","title":"RetentionCheck","repository":{"url":"https://github.com/brianfofficial/retentioncheck-v2","source":"github","subfolder":"packages/mcp-server"},"version":"0.3.1","websiteUrl":"https://retentioncheck.com/integrations","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@retentioncheck/mcp-server","version":"0.3.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Anthropic API key for running churn analysis (required for analyze_churn and analyze_stripe_churn; get_example_analysis works without it).","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Stripe API key for analyze_stripe_churn. Use a RESTRICTED (read-only) key with these permissions: Subscriptions Read, Customers Read, Prices Read. Create one at https://dashboard.stripe.com/apikeys/create. Optional — only required for the analyze_stripe_churn tool.","isSecret":true,"name":"STRIPE_SECRET_KEY"},{"description":"Set to 0 to opt out of anonymous usage telemetry. Telemetry tracks tool invocations and aggregate counts — never the feedback text, financial values, or any PII.","name":"RETENTIONCHECK_TELEMETRY"}]}],"_meta":{"io.modelcontextprotocol.registry/publisher-provided":{"tags":["churn","retention","saas","analytics","ai","cancellation-feedback","stripe","subscription-analytics"],"tool":"retentioncheck-mcp-server"}}},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-04-08T21:38:30.19715Z","publishedAt":"2026-04-08T21:38:30.19715Z","updatedAt":"2026-04-08T21:38:30.19715Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.brianfofficial/retentioncheck-mcp-server","description":"Pull churn from Stripe, Postgres, MySQL, or pasted feedback. AI-ranked drivers + fixes.","title":"RetentionCheck","repository":{"url":"https://github.com/brianfofficial/retentioncheck-v2","source":"github","subfolder":"packages/mcp-server"},"version":"0.4.0","websiteUrl":"https://retentioncheck.com/integrations","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@retentioncheck/mcp-server","version":"0.4.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Anthropic API key for running churn analysis (required for analyze_churn, analyze_stripe_churn, and analyze_sql_churn; get_example_analysis works without it).","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Stripe API key for analyze_stripe_churn. Use a RESTRICTED (read-only) key with these permissions: Subscriptions Read, Customers Read, Prices Read. Create one at https://dashboard.stripe.com/apikeys/create. Optional — only required for the analyze_stripe_churn tool.","isSecret":true,"name":"STRIPE_SECRET_KEY"},{"description":"Postgres connection string for analyze_sql_churn when dialect='postgres'. Format: postgres://user:pass@host:5432/db?sslmode=require. Use a READ-ONLY user — see retentioncheck.com/integrations for the exact GRANT SQL. Optional — only required for the analyze_sql_churn tool with postgres dialect.","isSecret":true,"name":"POSTGRES_URL"},{"description":"MySQL connection string for analyze_sql_churn when dialect='mysql'. Format: mysql://user:pass@host:3306/db?ssl=true. Use a READ-ONLY user — see retentioncheck.com/integrations for the exact GRANT SQL. Optional — only required for the analyze_sql_churn tool with mysql dialect.","isSecret":true,"name":"MYSQL_URL"},{"description":"Set to 0 to opt out of anonymous usage telemetry. Telemetry tracks tool invocations and aggregate counts — never the feedback text, financial values, or any PII.","name":"RETENTIONCHECK_TELEMETRY"}]}],"_meta":{"io.modelcontextprotocol.registry/publisher-provided":{"tags":["churn","retention","saas","analytics","ai","cancellation-feedback","stripe","postgres","mysql","subscription-analytics"],"tool":"retentioncheck-mcp-server"}}},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-04-08T23:27:06.941201Z","publishedAt":"2026-04-08T23:27:06.941201Z","updatedAt":"2026-04-08T23:27:06.941201Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.brianfofficial/retentioncheck-mcp-server","description":"Pull churn from Stripe, Postgres, MySQL, or pasted feedback. AI-ranked drivers + fixes.","title":"RetentionCheck","repository":{"url":"https://github.com/brianfofficial/retentioncheck-v2","source":"github","subfolder":"packages/mcp-server"},"version":"0.6.2","websiteUrl":"https://retentioncheck.com/integrations","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@retentioncheck/mcp-server","version":"0.6.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Anthropic API key for running churn analysis (required for analyze_churn, analyze_stripe_churn, and analyze_sql_churn; get_example_analysis works without it).","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Stripe API key for analyze_stripe_churn. Use a RESTRICTED (read-only) key with these permissions: Subscriptions Read, Customers Read, Prices Read. Create one at https://dashboard.stripe.com/apikeys/create. Optional — only required for the analyze_stripe_churn tool.","isSecret":true,"name":"STRIPE_SECRET_KEY"},{"description":"Postgres connection string for analyze_sql_churn when dialect='postgres'. Format: postgres://user:pass@host:5432/db?sslmode=require. Use a READ-ONLY user — see retentioncheck.com/integrations for the exact GRANT SQL. Optional — only required for the analyze_sql_churn tool with postgres dialect.","isSecret":true,"name":"POSTGRES_URL"},{"description":"MySQL connection string for analyze_sql_churn when dialect='mysql'. Format: mysql://user:pass@host:3306/db?ssl=true. Use a READ-ONLY user — see retentioncheck.com/integrations for the exact GRANT SQL. Optional — only required for the analyze_sql_churn tool with mysql dialect.","isSecret":true,"name":"MYSQL_URL"},{"description":"Set to 0 to opt out of anonymous usage telemetry. Telemetry tracks tool invocations and aggregate counts — never the feedback text, financial values, or any PII.","name":"RETENTIONCHECK_TELEMETRY"}]}],"_meta":{"io.modelcontextprotocol.registry/publisher-provided":{"tags":["churn","retention","saas","analytics","ai","cancellation-feedback","stripe","postgres","mysql","subscription-analytics"],"tool":"retentioncheck-mcp-server"}}},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-05T23:34:10.103781Z","publishedAt":"2026-05-05T23:34:10.103781Z","updatedAt":"2026-05-05T23:34:10.103781Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.briangaoo/totem","description":"Totem — talk to your wearables with AI. Today: full Whoop access (48 tools).","repository":{"url":"https://github.com/briangaoo/totem","source":"github"},"version":"1.4.0","packages":[{"registryType":"npm","identifier":"@briangaoo/totem","version":"1.4.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Whoop Cognito access token. Obtain via `totem auth` from the repo, which prompts for your Whoop email + password + SMS MFA code, then writes both tokens to a local .env. Auto-refreshes every ~24h.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_IOS_BEARER_TOKEN"},{"description":"Whoop Cognito refresh token (~30 day lifetime). Obtained alongside the bearer token from `totem auth`. When this expires, run `totem auth` to get a fresh pair.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_COGNITO_REFRESH_TOKEN"},{"description":"Your Whoop account email. Used only by `totem auth` — the running server reads tokens, not credentials.","isRequired":true,"format":"string","name":"WHOOP_EMAIL"},{"description":"Your numeric Whoop user ID. Optional — used by whoop_profile and whoop_leaderboard. Avoids one redundant bootstrap call per session if set.","format":"string","name":"WHOOP_USER_ID"},{"description":"IANA timezone (e.g., America/Los_Angeles) for response timestamps. Optional — if unset, the server auto-detects from your Whoop profile's timezone_offset field (refreshed hourly).","format":"string","name":"WHOOP_TIMEZONE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-06T06:06:54.387964Z","publishedAt":"2026-06-06T06:06:54.387964Z","updatedAt":"2026-06-06T06:06:54.387964Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.briangaoo/totem","description":"Totem — talk to your wearables with AI. Today: full Whoop access (48 tools).","repository":{"url":"https://github.com/briangaoo/totem","source":"github"},"version":"1.4.1","packages":[{"registryType":"npm","identifier":"@briangaoo/totem","version":"1.4.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Whoop Cognito access token. Obtain via `totem auth` from the repo, which prompts for your Whoop email + password + SMS MFA code, then writes both tokens to a local .env. Auto-refreshes every ~24h.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_IOS_BEARER_TOKEN"},{"description":"Whoop Cognito refresh token (~30 day lifetime). Obtained alongside the bearer token from `totem auth`. When this expires, run `totem auth` to get a fresh pair.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_COGNITO_REFRESH_TOKEN"},{"description":"Your Whoop account email. Used only by `totem auth` — the running server reads tokens, not credentials.","isRequired":true,"format":"string","name":"WHOOP_EMAIL"},{"description":"Your numeric Whoop user ID. Optional — used by whoop_profile and whoop_leaderboard. Avoids one redundant bootstrap call per session if set.","format":"string","name":"WHOOP_USER_ID"},{"description":"IANA timezone (e.g., America/Los_Angeles) for response timestamps. Optional — if unset, the server auto-detects from your Whoop profile's timezone_offset field (refreshed hourly).","format":"string","name":"WHOOP_TIMEZONE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-07T23:46:04.219379Z","publishedAt":"2026-06-07T23:46:04.219379Z","updatedAt":"2026-06-07T23:46:04.219379Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.briangaoo/totem","description":"Totem — talk to your wearables with AI. Today: full Whoop access (48 tools).","repository":{"url":"https://github.com/briangaoo/totem","source":"github"},"version":"1.4.2","packages":[{"registryType":"npm","identifier":"@briangaoo/totem","version":"1.4.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Whoop Cognito access token. Obtain via `totem auth` from the repo, which prompts for your Whoop email + password + SMS MFA code, then writes both tokens to a local .env. Auto-refreshes every ~24h.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_IOS_BEARER_TOKEN"},{"description":"Whoop Cognito refresh token (~30 day lifetime). Obtained alongside the bearer token from `totem auth`. When this expires, run `totem auth` to get a fresh pair.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_COGNITO_REFRESH_TOKEN"},{"description":"Your Whoop account email. Used only by `totem auth` — the running server reads tokens, not credentials.","isRequired":true,"format":"string","name":"WHOOP_EMAIL"},{"description":"Your numeric Whoop user ID. Optional — used by whoop_profile and whoop_leaderboard. Avoids one redundant bootstrap call per session if set.","format":"string","name":"WHOOP_USER_ID"},{"description":"IANA timezone (e.g., America/Los_Angeles) for response timestamps. Optional — if unset, the server auto-detects from your Whoop profile's timezone_offset field (refreshed hourly).","format":"string","name":"WHOOP_TIMEZONE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-07T23:46:41.320761Z","publishedAt":"2026-06-07T23:46:41.320761Z","updatedAt":"2026-06-07T23:46:41.320761Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.briangaoo/totem","description":"Totem — talk to your wearables with AI. Today: full Whoop access (48 tools).","repository":{"url":"https://github.com/briangaoo/totem","source":"github"},"version":"1.4.3","packages":[{"registryType":"npm","identifier":"@briangaoo/totem","version":"1.4.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Whoop Cognito access token. Obtain via `totem auth` from the repo, which prompts for your Whoop email + password + SMS MFA code, then writes both tokens to a local .env. Auto-refreshes every ~24h.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_IOS_BEARER_TOKEN"},{"description":"Whoop Cognito refresh token (~30 day lifetime). Obtained alongside the bearer token from `totem auth`. When this expires, run `totem auth` to get a fresh pair.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_COGNITO_REFRESH_TOKEN"},{"description":"Your Whoop account email. Used only by `totem auth` — the running server reads tokens, not credentials.","isRequired":true,"format":"string","name":"WHOOP_EMAIL"},{"description":"Your numeric Whoop user ID. Optional — used by whoop_profile and whoop_leaderboard. Avoids one redundant bootstrap call per session if set.","format":"string","name":"WHOOP_USER_ID"},{"description":"IANA timezone (e.g., America/Los_Angeles) for response timestamps. Optional — if unset, the server auto-detects from your Whoop profile's timezone_offset field (refreshed hourly).","format":"string","name":"WHOOP_TIMEZONE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-08T00:00:06.804869Z","publishedAt":"2026-06-08T00:00:06.804869Z","updatedAt":"2026-06-08T00:00:06.804869Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.briangaoo/whoop-mcp","description":"Full read + write access to your Whoop fitness data via the private iOS API. 47 tools.","repository":{"url":"https://github.com/briangaoo/whoop-mcp","source":"github"},"version":"1.1.0","packages":[{"registryType":"npm","identifier":"@briangaoo/whoop-mcp","version":"1.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Whoop Cognito access token. Obtain via `npm run cognito-bootstrap` from the repo, which prompts for your Whoop email + password + SMS MFA code, then writes both tokens to a local .env. Auto-refreshes every ~24h.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_IOS_BEARER_TOKEN"},{"description":"Whoop Cognito refresh token (~30 day lifetime). Obtained alongside the bearer token from `npm run cognito-bootstrap`. When this expires, run `npm run rebootstrap` to get a fresh pair.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_COGNITO_REFRESH_TOKEN"},{"description":"Your Whoop account email. Used only by the bootstrap script — the running server reads tokens, not credentials.","isRequired":true,"format":"string","name":"WHOOP_EMAIL"},{"description":"Your numeric Whoop user ID. Optional — used by whoop_profile and whoop_leaderboard. Avoids one redundant bootstrap call per session if set.","format":"string","name":"WHOOP_USER_ID"},{"description":"IANA timezone (e.g., America/Los_Angeles) for response timestamps. Optional — if unset, the server auto-detects from your Whoop profile's timezone_offset field (refreshed hourly).","format":"string","name":"WHOOP_TIMEZONE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-27T04:58:18.620492Z","publishedAt":"2026-05-27T04:58:18.620492Z","updatedAt":"2026-05-27T04:58:18.620492Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.briangaoo/whoop-mcp","description":"Full read + write access to your Whoop fitness data via the private iOS API. 48 tools.","repository":{"url":"https://github.com/briangaoo/whoop-mcp","source":"github"},"version":"1.2.0","packages":[{"registryType":"npm","identifier":"@briangaoo/whoop-mcp","version":"1.2.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Whoop Cognito access token. Obtain via `whoop-mcp auth` from the repo, which prompts for your Whoop email + password + SMS MFA code, then writes both tokens to a local .env. Auto-refreshes every ~24h.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_IOS_BEARER_TOKEN"},{"description":"Whoop Cognito refresh token (~30 day lifetime). Obtained alongside the bearer token from `whoop-mcp auth`. When this expires, run `whoop-mcp auth` to get a fresh pair.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_COGNITO_REFRESH_TOKEN"},{"description":"Your Whoop account email. Used only by `whoop-mcp auth` — the running server reads tokens, not credentials.","isRequired":true,"format":"string","name":"WHOOP_EMAIL"},{"description":"Your numeric Whoop user ID. Optional — used by whoop_profile and whoop_leaderboard. Avoids one redundant bootstrap call per session if set.","format":"string","name":"WHOOP_USER_ID"},{"description":"IANA timezone (e.g., America/Los_Angeles) for response timestamps. Optional — if unset, the server auto-detects from your Whoop profile's timezone_offset field (refreshed hourly).","format":"string","name":"WHOOP_TIMEZONE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-30T22:37:27.717681Z","publishedAt":"2026-05-30T22:37:27.717681Z","updatedAt":"2026-05-30T22:37:27.717681Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.briangaoo/whoop-mcp","description":"Full read + write access to your Whoop fitness data via the private iOS API. 48 tools.","repository":{"url":"https://github.com/briangaoo/whoop-mcp","source":"github"},"version":"1.2.1","packages":[{"registryType":"npm","identifier":"@briangaoo/whoop-mcp","version":"1.2.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Whoop Cognito access token. Obtain via `whoop-mcp auth` from the repo, which prompts for your Whoop email + password + SMS MFA code, then writes both tokens to a local .env. Auto-refreshes every ~24h.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_IOS_BEARER_TOKEN"},{"description":"Whoop Cognito refresh token (~30 day lifetime). Obtained alongside the bearer token from `whoop-mcp auth`. When this expires, run `whoop-mcp auth` to get a fresh pair.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_COGNITO_REFRESH_TOKEN"},{"description":"Your Whoop account email. Used only by `whoop-mcp auth` — the running server reads tokens, not credentials.","isRequired":true,"format":"string","name":"WHOOP_EMAIL"},{"description":"Your numeric Whoop user ID. Optional — used by whoop_profile and whoop_leaderboard. Avoids one redundant bootstrap call per session if set.","format":"string","name":"WHOOP_USER_ID"},{"description":"IANA timezone (e.g., America/Los_Angeles) for response timestamps. Optional — if unset, the server auto-detects from your Whoop profile's timezone_offset field (refreshed hourly).","format":"string","name":"WHOOP_TIMEZONE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-31T20:25:40.835378Z","publishedAt":"2026-05-31T20:25:40.835378Z","updatedAt":"2026-05-31T20:25:40.835378Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.briangaoo/whoop-mcp","description":"Full read + write access to your Whoop fitness data via the private iOS API. 48 tools.","repository":{"url":"https://github.com/briangaoo/whoop-mcp","source":"github"},"version":"1.2.2","packages":[{"registryType":"npm","identifier":"@briangaoo/whoop-mcp","version":"1.2.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Whoop Cognito access token. Obtain via `whoop-mcp auth` from the repo, which prompts for your Whoop email + password + SMS MFA code, then writes both tokens to a local .env. Auto-refreshes every ~24h.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_IOS_BEARER_TOKEN"},{"description":"Whoop Cognito refresh token (~30 day lifetime). Obtained alongside the bearer token from `whoop-mcp auth`. When this expires, run `whoop-mcp auth` to get a fresh pair.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_COGNITO_REFRESH_TOKEN"},{"description":"Your Whoop account email. Used only by `whoop-mcp auth` — the running server reads tokens, not credentials.","isRequired":true,"format":"string","name":"WHOOP_EMAIL"},{"description":"Your numeric Whoop user ID. Optional — used by whoop_profile and whoop_leaderboard. Avoids one redundant bootstrap call per session if set.","format":"string","name":"WHOOP_USER_ID"},{"description":"IANA timezone (e.g., America/Los_Angeles) for response timestamps. Optional — if unset, the server auto-detects from your Whoop profile's timezone_offset field (refreshed hourly).","format":"string","name":"WHOOP_TIMEZONE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-01T04:37:36.870673Z","publishedAt":"2026-06-01T04:37:36.870673Z","updatedAt":"2026-06-01T04:37:36.870673Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.briangaoo/whoop-mcp","description":"Full read + write access to your Whoop fitness data via the private iOS API. 48 tools.","repository":{"url":"https://github.com/briangaoo/whoop-mcp","source":"github"},"version":"1.2.3","packages":[{"registryType":"npm","identifier":"@briangaoo/whoop-mcp","version":"1.2.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Whoop Cognito access token. Obtain via `whoop-mcp auth` from the repo, which prompts for your Whoop email + password + SMS MFA code, then writes both tokens to a local .env. Auto-refreshes every ~24h.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_IOS_BEARER_TOKEN"},{"description":"Whoop Cognito refresh token (~30 day lifetime). Obtained alongside the bearer token from `whoop-mcp auth`. When this expires, run `whoop-mcp auth` to get a fresh pair.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_COGNITO_REFRESH_TOKEN"},{"description":"Your Whoop account email. Used only by `whoop-mcp auth` — the running server reads tokens, not credentials.","isRequired":true,"format":"string","name":"WHOOP_EMAIL"},{"description":"Your numeric Whoop user ID. Optional — used by whoop_profile and whoop_leaderboard. Avoids one redundant bootstrap call per session if set.","format":"string","name":"WHOOP_USER_ID"},{"description":"IANA timezone (e.g., America/Los_Angeles) for response timestamps. Optional — if unset, the server auto-detects from your Whoop profile's timezone_offset field (refreshed hourly).","format":"string","name":"WHOOP_TIMEZONE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-01T06:51:49.612085Z","publishedAt":"2026-06-01T06:51:49.612085Z","updatedAt":"2026-06-01T06:51:49.612085Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.briangaoo/whoop-mcp","description":"Full read + write access to your Whoop fitness data via the private iOS API. 48 tools.","repository":{"url":"https://github.com/briangaoo/whoop-mcp","source":"github"},"version":"1.2.4","packages":[{"registryType":"npm","identifier":"@briangaoo/whoop-mcp","version":"1.2.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"Whoop Cognito access token. Obtain via `whoop-mcp auth` from the repo, which prompts for your Whoop email + password + SMS MFA code, then writes both tokens to a local .env. Auto-refreshes every ~24h.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_IOS_BEARER_TOKEN"},{"description":"Whoop Cognito refresh token (~30 day lifetime). Obtained alongside the bearer token from `whoop-mcp auth`. When this expires, run `whoop-mcp auth` to get a fresh pair.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_COGNITO_REFRESH_TOKEN"},{"description":"Your Whoop account email. Used only by `whoop-mcp auth` — the running server reads tokens, not credentials.","isRequired":true,"format":"string","name":"WHOOP_EMAIL"},{"description":"Your numeric Whoop user ID. Optional — used by whoop_profile and whoop_leaderboard. Avoids one redundant bootstrap call per session if set.","format":"string","name":"WHOOP_USER_ID"},{"description":"IANA timezone (e.g., America/Los_Angeles) for response timestamps. Optional — if unset, the server auto-detects from your Whoop profile's timezone_offset field (refreshed hourly).","format":"string","name":"WHOOP_TIMEZONE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-01T21:23:53.680359Z","publishedAt":"2026-06-01T21:23:53.680359Z","updatedAt":"2026-06-01T21:23:53.680359Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.briangaoo/whoop-mcp","description":"Full read + write access to your Whoop fitness data via the private iOS API. 48 tools.","repository":{"url":"https://github.com/briangaoo/whoop-mcp","source":"github"},"version":"1.3.0","packages":[{"registryType":"npm","identifier":"@briangaoo/whoop-mcp","version":"1.3.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Whoop Cognito access token. Obtain via `whoop-mcp auth` from the repo, which prompts for your Whoop email + password + SMS MFA code, then writes both tokens to a local .env. Auto-refreshes every ~24h.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_IOS_BEARER_TOKEN"},{"description":"Whoop Cognito refresh token (~30 day lifetime). Obtained alongside the bearer token from `whoop-mcp auth`. When this expires, run `whoop-mcp auth` to get a fresh pair.","isRequired":true,"format":"string","isSecret":true,"name":"WHOOP_COGNITO_REFRESH_TOKEN"},{"description":"Your Whoop account email. Used only by `whoop-mcp auth` — the running server reads tokens, not credentials.","isRequired":true,"format":"string","name":"WHOOP_EMAIL"},{"description":"Your numeric Whoop user ID. Optional — used by whoop_profile and whoop_leaderboard. Avoids one redundant bootstrap call per session if set.","format":"string","name":"WHOOP_USER_ID"},{"description":"IANA timezone (e.g., America/Los_Angeles) for response timestamps. Optional — if unset, the server auto-detects from your Whoop profile's timezone_offset field (refreshed hourly).","format":"string","name":"WHOOP_TIMEZONE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-01T23:40:25.259991Z","publishedAt":"2026-06-01T23:40:25.259991Z","updatedAt":"2026-06-01T23:40:25.259991Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.brianirish/laravel-mcp-companion","description":"Laravel documentation aggregator: multi-version core docs, services, packages, learning paths.","title":"Laravel MCP Companion","repository":{"url":"https://github.com/brianirish/laravel-mcp-companion","source":"github"},"version":"0.12.0","websiteUrl":"https://github.com/brianirish/laravel-mcp-companion","packages":[{"registryType":"oci","identifier":"ghcr.io/brianirish/laravel-mcp-companion:v0.12.0","runtimeHint":"docker","transport":{"type":"stdio"},"runtimeArguments":[{"description":"Remove the container when the session ends","type":"named","name":"--rm"},{"description":"Keep stdin open; the MCP transport is stdio","type":"named","name":"-i"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-01T01:24:05.274658Z","publishedAt":"2026-08-01T01:24:05.274658Z","updatedAt":"2026-08-01T01:24:05.274658Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.brianirish/laravel-mcp-companion","description":"Laravel documentation aggregator: multi-version core docs, services, packages, learning paths.","title":"Laravel MCP Companion","repository":{"url":"https://github.com/brianirish/laravel-mcp-companion","source":"github"},"version":"0.13.0","websiteUrl":"https://github.com/brianirish/laravel-mcp-companion","packages":[{"registryType":"oci","identifier":"ghcr.io/brianirish/laravel-mcp-companion:v0.13.0","runtimeHint":"docker","transport":{"type":"stdio"},"runtimeArguments":[{"description":"Remove the container when the session ends","type":"named","name":"--rm"},{"description":"Keep stdin open; the MCP transport is stdio","type":"named","name":"-i"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-04T02:19:33.005228Z","publishedAt":"2026-08-04T02:19:33.005228Z","updatedAt":"2026-08-04T02:19:33.005228Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.briantoogee/kepler-crm","description":"Search recruiting CRM records, manage candidates, jobs, pipelines, notes and tasks with OAuth.","title":"Kepler CRM","version":"1.0.0","websiteUrl":"https://keplercrm.com/support/#/articles/mcp-overview","remotes":[{"type":"streamable-http","url":"https://app.keplercrm.com/api/mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-14T13:07:01.002416Z","publishedAt":"2026-09-14T13:07:01.002416Z","updatedAt":"2026-09-14T13:07:01.002416Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.briantoogee/kepler-crm","description":"Search recruiting CRM records, manage candidates, jobs, pipelines, notes and tasks with OAuth.","title":"Kepler CRM","version":"1.0.1","websiteUrl":"https://keplercrm.com","remotes":[{"type":"streamable-http","url":"https://app.keplercrm.com/api/mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-14T13:12:58.371415Z","publishedAt":"2026-09-14T13:12:58.371415Z","updatedAt":"2026-09-14T13:12:58.371415Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.cambriannetwork/cambrian-api","description":"Cambrian API MCP server for Solana, Base, Deep42 social intelligence, and perpetual risk data.","repository":{"url":"https://github.com/cambriannetwork/cambrian-api-mcp","source":"github"},"version":"1.3.5","packages":[{"registryType":"npm","identifier":"cambrian-api-mcp","version":"1.3.5","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Cambrian API key.","isRequired":true,"format":"string","isSecret":true,"name":"CAMBRIAN_API_KEY"}]}],"remotes":[{"type":"streamable-http","url":"https://mcp.cambrian.org/mcp","headers":[{"description":"Bearer token in the form: Bearer <CAMBRIAN_API_KEY>","isRequired":true,"isSecret":true,"name":"Authorization"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-17T13:36:45.219789Z","publishedAt":"2026-08-17T13:36:45.219789Z","updatedAt":"2026-08-17T13:36:45.219789Z","isLatest":false}}}],"metadata":{"nextCursor":"io.github.cambriannetwork/cambrian-api:1.3.5","count":30}}
