0006-output-formats-json-mode.md•1.1 kB
# ADR 0006: Output Formats — Add JSON Mode
Status: Accepted
Date: 2025-09-24
## Context
- MCP clients sometimes need machine-readable results for chaining actions.
- Current responses are text-only.
## Decision
- Add output_format: "text" (default) | "json" to all tools.
- JSON mode returns:
- For collections/items: compact dicts mirroring STAC fields used today.
- For searches: items array plus pagination/conformance metadata when available.
- Keep text mode unchanged for backward compatibility.
## Consequences
- Enables programmatic consumption in workflows.
- Requires careful versioning of response schema and tests.
## Alternatives considered
- New parallel tools with -json suffix (rejected; duplicates surface).
## Addendums
- 2025-09-18: See ASR 1003 (JSON Output Stability and Compatibility) for non-functional guarantees and compatibility policy.
- 2025-09-24: Implemented in feature/json-output-format branch. Tools accept `output_format` param; JSON responses wrapped in single MCP TextContent payload containing compact JSON envelope `{"mode":"json","data":...}`.