---
title: "Context Compress"
method: POST
path: "/context/compress"
---

# Context Compress

`POST /context/compress`

## Request

- Base URL: `https://mcp.physea.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://mcp.physea.ai/context/compress`
- Auth: none declared

REST door for MCP `focus` (alias `compress_context`). POST /context/focus is the
canonical path (Jay SETTLED 2026-10-09 rename to Focus); /context/compress is kept as an
alias on the same handler. (CONNECT request 2026-09-09: workers skip the
MCP handshake). Same core, same caller binding (API key), same brief + fidelity +
metrics body. Key-required, quota-free on the sell plane ("/context" in AUTH_PATHS is
customer-tier here — see metering._admin_required). The caller's context profile is
enforced BEFORE the model sees the text (coded LIM-CTX-002/003 → 400; over budget →
withheld with a receipt on `context_receipt`, never an error).

## Request body

- ContextCompressRequest
  - `text` string, required
  - `task` string, required
  - `retention` string

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/physea/apis/liminality-router-service.md) · [All operations](https://skmtc.dev/physea/apis/liminality-router-service/llms.txt) · [OpenAPI document](https://skmtc.dev/physea/apis/liminality-router-service/revisions/5f60ddd97544?raw)
