{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Flatten Claude Code sessions: keep every prompt and event verbatim, resume at a lower token count.","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"1.0.1","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"1.0.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. If set, token savings are counted exactly via Anthropic's count_tokens endpoint instead of estimated locally.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-12T22:21:05.010137Z","publishedAt":"2026-06-12T22:21:05.010137Z","updatedAt":"2026-06-12T22:21:05.010137Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Flatten Claude Code sessions: keep every prompt and event verbatim, resume at a lower token count.","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"1.0.2","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"1.0.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. If set, token savings are counted exactly via Anthropic's count_tokens endpoint instead of estimated locally.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-13T00:34:47.644959Z","publishedAt":"2026-06-13T00:34:47.644959Z","updatedAt":"2026-06-13T00:34:47.644959Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Flatten Claude Code sessions: keep every prompt and event verbatim, resume at a lower token count.","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"1.0.3","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"1.0.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. If set, token savings are counted exactly via Anthropic's count_tokens endpoint instead of estimated locally.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-13T01:22:43.746747Z","publishedAt":"2026-06-13T01:22:43.746747Z","updatedAt":"2026-06-13T01:22:43.746747Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Flatten Claude Code sessions: keep every prompt and event verbatim, resume at a lower token count.","title":"flatten-mcp","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"1.1.0","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"1.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. If set, token savings are counted exactly via Anthropic's count_tokens endpoint instead of estimated locally.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-19T21:51:18.666003Z","publishedAt":"2026-06-19T21:51:18.666003Z","updatedAt":"2026-06-19T21:51:18.666003Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Flatten Claude Code sessions: keep every prompt and event verbatim, resume at a lower token count.","title":"flatten-mcp","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"2.0.1","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"2.0.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. If set, token savings are counted exactly via Anthropic's count_tokens endpoint instead of estimated locally.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-01T23:27:09.671791Z","publishedAt":"2026-07-01T23:27:09.671791Z","updatedAt":"2026-07-01T23:27:09.671791Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Flatten Claude Code sessions: keep every prompt and event verbatim, resume at a lower token count.","title":"flatten-mcp","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"2.0.2","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"2.0.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. If set, token savings are counted exactly via Anthropic's count_tokens endpoint instead of estimated locally.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-01T23:47:47.455182Z","publishedAt":"2026-07-01T23:47:47.455182Z","updatedAt":"2026-07-01T23:47:47.455182Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Flatten Claude Code sessions: keep every prompt and event verbatim, resume at a lower token count.","title":"flatten-mcp","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"2.0.3","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"2.0.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. If set, token savings are counted exactly via Anthropic's count_tokens endpoint instead of estimated locally.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-02T00:26:55.429532Z","publishedAt":"2026-07-02T00:26:55.429532Z","updatedAt":"2026-07-02T00:26:55.429532Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Flatten Claude Code sessions: keep every prompt and event verbatim, resume at a lower token count.","title":"flatten-mcp","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"2.0.4","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"2.0.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. If set, token savings are counted exactly via Anthropic's count_tokens endpoint instead of estimated locally.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-02T18:30:53.654101Z","publishedAt":"2026-07-02T18:30:53.654101Z","updatedAt":"2026-07-02T18:30:53.654101Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Flatten Claude Code sessions: keep every prompt and event verbatim, resume at a lower token count.","title":"flatten-mcp","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"2.0.5","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"2.0.5","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. If set, token savings are counted exactly via Anthropic's count_tokens endpoint instead of estimated locally.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-02T21:06:46.562826Z","publishedAt":"2026-07-02T21:06:46.562826Z","updatedAt":"2026-07-02T21:06:46.562826Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Flatten Claude Code sessions: keep every prompt and event verbatim, resume at a lower token count.","title":"flatten-mcp","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"2.1.0","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"2.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. Set to 1 to count token savings exactly via Anthropic's count_tokens endpoint (requires ANTHROPIC_API_KEY). Off by default: key presence alone never triggers a network call.","format":"string","name":"FLATTEN_COUNT_EXACT"},{"description":"Optional. API key for the exact token count; ignored unless FLATTEN_COUNT_EXACT=1.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-02T22:04:54.970448Z","publishedAt":"2026-07-02T22:04:54.970448Z","updatedAt":"2026-07-02T22:04:54.970448Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Flatten Claude Code sessions: keep every prompt and event verbatim, resume at a lower token count.","title":"flatten-mcp","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"2.2.0","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"2.2.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. Set to 1 to count token savings exactly via Anthropic's count_tokens endpoint (requires ANTHROPIC_API_KEY). Off by default: key presence alone never triggers a network call.","format":"string","name":"FLATTEN_COUNT_EXACT"},{"description":"Optional. API key for the exact token count; ignored unless FLATTEN_COUNT_EXACT=1.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"},{"description":"Optional. Set to 1 to also register the in-memory flatten_messages/unflatten_messages tools alongside the three disk tools. Off by default to keep the local tool surface lean.","format":"string","name":"FLATTEN_INMEMORY_TOOLS"},{"description":"Optional. Claude config dir whose projects/ session store is read (default: ~/.claude). The same variable Claude Code uses for profiles, so an alternate-profile server targets its own sessions automatically; override per call with the claude_dir argument.","format":"string","name":"CLAUDE_CONFIG_DIR"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-03T23:14:59.638354Z","publishedAt":"2026-07-03T23:14:59.638354Z","updatedAt":"2026-07-03T23:14:59.638354Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Flatten Claude Code sessions: keep every prompt and event verbatim, resume at a lower token count.","title":"flatten-mcp","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"2.2.1","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"2.2.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. Set to 1 to count token savings exactly via Anthropic's count_tokens endpoint (requires ANTHROPIC_API_KEY). Off by default: key presence alone never triggers a network call.","format":"string","name":"FLATTEN_COUNT_EXACT"},{"description":"Optional. API key for the exact token count; ignored unless FLATTEN_COUNT_EXACT=1.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"},{"description":"Optional. Set to 1 to also register the in-memory flatten_messages/unflatten_messages tools alongside the three disk tools. Off by default to keep the local tool surface lean.","format":"string","name":"FLATTEN_INMEMORY_TOOLS"},{"description":"Optional. Claude config dir whose projects/ session store is read (default: ~/.claude). The same variable Claude Code uses for profiles, so an alternate-profile server targets its own sessions automatically; override per call with the claude_dir argument.","format":"string","name":"CLAUDE_CONFIG_DIR"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-10T22:14:34.828755Z","publishedAt":"2026-07-10T22:14:34.828755Z","updatedAt":"2026-07-10T22:14:34.828755Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Cut a Claude Code session's context tokens losslessly — the reversible alternative to /compact.","title":"flatten-mcp","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"2.2.2","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"2.2.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. Set to 1 to count token savings exactly via Anthropic's count_tokens endpoint (requires ANTHROPIC_API_KEY). Off by default: key presence alone never triggers a network call.","format":"string","name":"FLATTEN_COUNT_EXACT"},{"description":"Optional. API key for the exact token count; ignored unless FLATTEN_COUNT_EXACT=1.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"},{"description":"Optional. Set to 1 to also register the in-memory flatten_messages/unflatten_messages tools alongside the three disk tools. Off by default to keep the local tool surface lean.","format":"string","name":"FLATTEN_INMEMORY_TOOLS"},{"description":"Optional. Claude config dir whose projects/ session store is read (default: ~/.claude). The same variable Claude Code uses for profiles, so an alternate-profile server targets its own sessions automatically; override per call with the claude_dir argument.","format":"string","name":"CLAUDE_CONFIG_DIR"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-10T23:48:27.427711Z","publishedAt":"2026-07-10T23:48:27.427711Z","updatedAt":"2026-07-10T23:48:27.427711Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Cut a Claude Code session's context tokens losslessly — the reversible alternative to /compact.","title":"flatten-mcp","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"2.2.3","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"2.2.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. Set to 1 to count token savings exactly via Anthropic's count_tokens endpoint (requires ANTHROPIC_API_KEY). Off by default: key presence alone never triggers a network call.","format":"string","name":"FLATTEN_COUNT_EXACT"},{"description":"Optional. API key for the exact token count; ignored unless FLATTEN_COUNT_EXACT=1.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"},{"description":"Optional. Set to 1 to also register the in-memory flatten_messages/unflatten_messages tools alongside the three disk tools. Off by default to keep the local tool surface lean.","format":"string","name":"FLATTEN_INMEMORY_TOOLS"},{"description":"Optional. Claude config dir whose projects/ session store is read (default: ~/.claude). The same variable Claude Code uses for profiles, so an alternate-profile server targets its own sessions automatically; override per call with the claude_dir argument.","format":"string","name":"CLAUDE_CONFIG_DIR"}]}],"remotes":[{"type":"streamable-http","url":"https://shaya.cloud/flatten-mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-11T14:23:33.982589Z","publishedAt":"2026-07-11T14:23:33.982589Z","updatedAt":"2026-07-11T14:23:33.982589Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Cut a Claude Code session's context tokens losslessly — the reversible alternative to /compact.","title":"flatten-mcp","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"2.3.0","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"2.3.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. Set to 1 to count token savings exactly via Anthropic's count_tokens endpoint (requires ANTHROPIC_API_KEY). Off by default: key presence alone never triggers a network call.","format":"string","name":"FLATTEN_COUNT_EXACT"},{"description":"Optional. API key for the exact token count; ignored unless FLATTEN_COUNT_EXACT=1.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"},{"description":"Optional. Set to 1 to also register the in-memory flatten_messages/unflatten_messages tools alongside the three disk tools. Off by default to keep the local tool surface lean.","format":"string","name":"FLATTEN_INMEMORY_TOOLS"},{"description":"Optional. Claude config dir whose projects/ session store is read (default: ~/.claude). The same variable Claude Code uses for profiles, so an alternate-profile server targets its own sessions automatically; override per call with the claude_dir argument.","format":"string","name":"CLAUDE_CONFIG_DIR"}]}],"remotes":[{"type":"streamable-http","url":"https://shaya.cloud/flatten-mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-11T17:39:44.063797Z","publishedAt":"2026-07-11T17:39:44.063797Z","updatedAt":"2026-07-11T17:39:44.063797Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Cut a Claude Code session's context tokens losslessly — the reversible alternative to /compact.","title":"flatten-mcp","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"2.4.0","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"2.4.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. Set to 1 to count token savings exactly via Anthropic's count_tokens endpoint (requires ANTHROPIC_API_KEY). Off by default: key presence alone never triggers a network call.","format":"string","name":"FLATTEN_COUNT_EXACT"},{"description":"Optional. API key for the exact token count; ignored unless FLATTEN_COUNT_EXACT=1.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"},{"description":"Optional. Set to 1 to also register the in-memory flatten_messages/unflatten_messages tools alongside the three disk tools. Off by default to keep the local tool surface lean.","format":"string","name":"FLATTEN_INMEMORY_TOOLS"},{"description":"Optional. Claude config dir whose projects/ session store is read (default: ~/.claude). The same variable Claude Code uses for profiles, so an alternate-profile server targets its own sessions automatically; override per call with the claude_dir argument.","format":"string","name":"CLAUDE_CONFIG_DIR"}]}],"remotes":[{"type":"streamable-http","url":"https://shaya.cloud/flatten-mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-12T10:46:47.962312Z","publishedAt":"2026-07-12T10:46:47.962312Z","updatedAt":"2026-07-12T10:46:47.962312Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.shayaShav/flatten-mcp","description":"Cut a Claude Code session's context tokens losslessly — the reversible alternative to /compact.","title":"flatten-mcp","repository":{"url":"https://github.com/shayaShav/flatten-mcp","source":"github","id":"1266659149"},"version":"2.5.0","websiteUrl":"https://github.com/shayaShav/flatten-mcp#readme","icons":[{"src":"https://raw.githubusercontent.com/shayaShav/flatten-mcp/main/assets/logo.png","mimeType":"image/png","sizes":["1536x1536"]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"flatten-mcp","version":"2.5.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. Set to 1 to count token savings exactly via Anthropic's count_tokens endpoint (requires ANTHROPIC_API_KEY). Off by default: key presence alone never triggers a network call.","format":"string","name":"FLATTEN_COUNT_EXACT"},{"description":"Optional. API key for the exact token count; ignored unless FLATTEN_COUNT_EXACT=1.","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Optional. Model id used for the exact token count (default: claude-haiku-4-5-20251001).","format":"string","name":"FLATTEN_COUNT_MODEL"},{"description":"Optional. Set to 1 to also register the in-memory flatten_messages/unflatten_messages tools alongside the three disk tools. Off by default to keep the local tool surface lean.","format":"string","name":"FLATTEN_INMEMORY_TOOLS"},{"description":"Optional. Claude config dir whose projects/ session store is read (default: ~/.claude). The same variable Claude Code uses for profiles, so an alternate-profile server targets its own sessions automatically; override per call with the claude_dir argument.","format":"string","name":"CLAUDE_CONFIG_DIR"}]}],"remotes":[{"type":"streamable-http","url":"https://shaya.cloud/flatten-mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-12T20:10:46.464879Z","publishedAt":"2026-07-12T20:10:46.464879Z","updatedAt":"2026-07-12T20:10:46.464879Z","isLatest":true}}}],"metadata":{"count":17}}
