"Token," "context window," "system prompt," "MCP server" - these terms get thrown around in every AI coding agent's docs, but they're rarely defined in one place, and a couple of them are commonly confused with each other. This is that one place: six terms, plain definitions, and how they connect.
What is a token?
A token is the unit an LLM reads and writes text in - roughly four characters of English, or about three quarters of a word. Every token in a prompt and its response is counted and billed, which is why token count, not character count or word count, is the actual unit of cost.
What is a context window?
A context window is the maximum number of tokens a model can hold in one conversation - the system prompt, tool definitions, prior turns, and the current message all share it. A bigger window does not make any of that free: everything in it is still sent, and still billed, on every turn. Buying a bigger window solves running out of room; it does not solve paying for what's in it.
It doesn't solve quality either. Longer context has been shown to measurably degrade a model's answers well before it reaches the window's advertised limit - Chroma's Context Rot study found that all 18 frontier models it tested got worse as input length grew, some showing real accuracy loss tens of thousands of tokens short of their stated maximum.
What is context compression?
Context compression is shrinking what gets sent to a model - trimming redundant or low-value text - while keeping the meaning intact, so the model still has what it needs to respond correctly. It's applied to whatever a coding agent sends: prompts, shell command output, documents. How Poco compresses prompts goes into the mechanics of one specific approach to it.
What is an MCP server, and why does it cost tokens?
An MCP (Model Context Protocol) server is a plugin that gives an AI coding agent extra tools - like querying a database or calling an API. Its tool definitions load into the agent's system prompt the moment it's installed, so you pay for them on every single turn whether you call the tool or not. Where your context window actually goes covers why this is usually the single biggest line item people don't expect.
What is a system prompt?
A system prompt is the instructions and context an AI agent sends to the model before your message - its role, available tools, and rules of engagement. It's resent in full on every turn of the conversation, which makes it one of the largest fixed costs in an agentic session, and the reason a bloated tool list or an oversized memory file taxes you long after you stopped thinking about it.
What is prompt caching, and how is it different from context compression?
These two get confused because they both promise lower cost, but they work on opposite ends of the same problem. Prompt caching reduces the cost of resending an identical prefix - like an unchanged system prompt - across turns, but only if that prefix stays byte-for-byte the same. Context compression reduces the size of what's sent in the first place, including the parts that change every turn and could never be cached, like a shell command's output or the current message. Caching pays less for something you already sent unchanged; compression sends less of it to begin with. They're complementary, not substitutes - a session can use both at once.