Open source · MCP and agent skills

Know what you feed your agent.

Every MCP server and every skill you install is loaded into the context window before you type a word, and you pay for it on every request after that. efaimo measures what it costs and audits what you got for it, from your terminal, against your real config.

License
Apache 2.0
Runtime
Node 20+
Target
v0.1, Jul 24

1,062 dots · 13 tools · one MCP server

One dot per token, measured off the official MCP reference server. That is what it puts in your context before you type a word. The bright cluster is gzip-file-as-resource, its heaviest tool, at 202 of them. It condenses into the 13 things you installed and disperses into the one mass the model receives. Both are the same measurement.

The cost

You are paying for tools
you never called.

Every tool definition goes to the model on every request, called or not. That is a budget, and a budget nobody reads is not a budget. Here is one, read.

The answer, for one server efaimo v0.1.0 · 2026-07-17 00:23 UTC

1,120

o200k tokens of tool definitions from one MCP server, resident on every request. About 0.6% of a 200k window before you type a word.

same 13 tools, three serializations

Claude-style 1,120
OpenAI tools 1,142
raw JSON 1,607

Per-tool bars, the 58 token gap between the parts and the whole, and why you cannot add a column of token counts: the full accounting is one page deep.

The full accounting ->

The tool

Four commands.
One question each.

A CLI and nothing else: no account, no hosted service, no daemon. It reads what you already have and prints what it found.

  • efaimo weigh

    What does this cost me?

    Counts the tokens a server or a skill adds to your context, reproducing the way your host actually serializes it. Point it at a stdio command, a URL, a repo, a skill folder, or a whole installed client config.

    mcp + skills v0.1, Jul 24
  • efaimo check --mcp

    Does this survive July 28?

    Runs a server against the 2026-07-28 specification, then against description quality and annotation hygiene. Every rule names the SEP it came from.

    mcp v0.1, Jul 24
  • efaimo check --skill

    Is this skill worth loading?

    Frontmatter schema, trigger collisions across everything you have installed, token budget, reference integrity, injection patterns.

    skills v0.2
  • efaimo test

    Did the skill actually help?

    Runs a task with the skill and without it, then reports the difference. Still a design, not a plan.

    skills designing

Real runs of all three, as they printed ->

July 28, 2026

The protocol
goes stateless.

The specification that publishes on July 28 removes sessions and initialization outright. It is a breaking change in the spec's own words, with a twelve month window to move.

2025-11-25
2026-05-21
2026-07-28
2027-07-28
4 removed
5 added
2 deprecated
1 moved

Method

A number you cannot defend
is worse than no number.

reproducelabelcitedogfood

The measurements are the product, so the method is the warranty. This site holds itself to it: every figure here is computed from one committed run, and the build fails if a caption stops explaining its own number.

How the numbers are made ->

Nothing here
has shipped.

The npm name efaimo is unclaimed. The GitHub org is empty. v0.1 targets July 24, four days before the specification it checks. You can verify all three of those sentences in under a minute, which is more or less the point.