Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 15 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,31 @@

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`
(structural warm start), `MinifyFile` (whole-file, all languages), and
`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

Expand Down
2 changes: 1 addition & 1 deletion mcp/TokenSaver.Mcp.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<PackAsTool>true</PackAsTool>
<ToolCommandName>tokensaver-mcp</ToolCommandName>
<PackageId>TokenSaver.Mcp</PackageId>
<Version>1.14.1</Version>
<Version>1.15.0</Version>
<Authors>Sebastian Larsson</Authors>
<Description>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.</Description>
<PackageTags>mcp;dotnet;csharp;visualbasic;razor;roslyn;copilot;tokens;llm;tokensaver</PackageTags>
Expand Down
6 changes: 3 additions & 3 deletions server.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": [
{
Expand Down
Loading