diff --git a/CHANGELOG.md b/CHANGELOG.md
index a5db206..bae8e14 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,7 +2,7 @@
All notable changes to TokenSaver.Mcp are documented here.
-## [Unreleased]
+## [1.15.0] — 2026-06-16
### Changed — stripped to a warm-start tool set
- Reduced the advertised MCP surface from 11 tools to **3**: `OutlineCSharpFile`
@@ -10,13 +10,23 @@ All notable changes to TokenSaver.Mcp are documented here.
`TraceDiRegistrations` (DI wiring — the one discovery grep can't do cleanly).
The focus/trace family (`FocusMethod`, `FocusMultipleMethods`,
`FocusMethodsAcrossFiles`, `FocusType`, `FocusCallers`, `TraceCallers`,
- `TraceImplementors`, `MapProject`) is no longer registered as an MCP tool.
-- Fixed per-session overhead dropped **4,134 → 1,504 tokens** (−64%):
- `ServerInstructions` rewritten for the 3-tool set and 8 tool schemas removed.
+ `TraceImplementors`, `MapProject`) is no longer registered as an MCP tool (#99).
+- Fixed per-session overhead dropped **4,134 → 1,415 tokens** (−66%):
+ `ServerInstructions` rewritten for the 3-tool set, 8 tool schemas removed, and a
+ legacy duplicate `focus_method` registration (`FocusedEmissionTool`) deleted.
Rationale: a controlled A/B (outline-only vs full toolset vs no-MCP) showed the
focus/trace tools added no measured token value on scoped tasks; the durable win
is a cheap structural warm start, after which `Grep` + a narrow `Read` of the
- outline's line-ranges does the rest.
+ outline's line-ranges does the rest. On a real cheaper-model task this flips the
+ session ledger from net-negative to net-positive.
+- Removed the Markdown emitter.
+
+### Documentation
+- Reframed the README, NuGet readme, viewer pages, `llms.txt`, and registry
+ description around the warm start: it curbs wasteful reading, with the biggest win
+ on smaller/cheaper models (~8%) and large files. Dropped the "30–95% for everyone"
+ framing — the win scales inversely with model capability (~1% top-tier, ~5–7%
+ mid-tier, ~8% cheaper).
## [1.14.1] — 2026-06-11
diff --git a/mcp/TokenSaver.Mcp.csproj b/mcp/TokenSaver.Mcp.csproj
index 6fe98c0..6c2de2d 100644
--- a/mcp/TokenSaver.Mcp.csproj
+++ b/mcp/TokenSaver.Mcp.csproj
@@ -13,7 +13,7 @@
true
tokensaver-mcp
TokenSaver.Mcp
- 1.14.1
+ 1.15.0
Sebastian Larsson
MCP server for .NET developers — gives AI assistants a token-efficient view of C#, VB, Razor, and .NET project files using the Roslyn compiler platform. Reduces tokens by 50-95% with no loss of logic.
mcp;dotnet;csharp;visualbasic;razor;roslyn;copilot;tokens;llm;tokensaver
diff --git a/server.json b/server.json
index 9848678..3fec0dc 100644
--- a/server.json
+++ b/server.json
@@ -2,17 +2,17 @@
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "io.github.Byggarepop/tokensaver",
"title": "TokenSaver",
- "description": "Token-efficient C#, Razor, and .NET file views for AI assistants. 50-95% token reduction via Roslyn.",
+ "description": "A structural warm start for AI coding agents in .NET — a cheap Roslyn signature map of C#/Razor/.NET files so the model reads only what it needs. Biggest win on smaller/cheaper models and large files.",
"repository": {
"url": "https://github.com/Byggarepop/TokenSaver",
"source": "github"
},
- "version": "1.14.1",
+ "version": "1.15.0",
"packages": [
{
"registryType": "nuget",
"identifier": "TokenSaver.Mcp",
- "version": "1.14.1",
+ "version": "1.15.0",
"runtimeHint": "dnx",
"runtimeArguments": [
{