# MCP adds structured tool output and elicitation

> The June 2025 MCP revision lets tools return typed, structured results, lets a server ask the user for missing input, and tightens how servers handle authorization.

By Matt O'Donnell. Published June 20, 2025.  
Tags: mcp, standards.  
Canonical: https://kenseme.com/blog/mcp-spec-june-2025-structured-output/

The Model Context Protocol published its second specification revision of the year on June 18, 2025.

## What changed

1. **Structured tool output.** A tool can now return typed, structured results alongside text, so a client does not have to parse prose to get a number back.
2. **Elicitation.** A server can pause and ask the user for information it needs, such as which account or which date range, instead of guessing.
3. **Authorization tightened.** MCP servers are now classified as OAuth resource servers, and clients must use resource indicators (RFC 8707) so a token issued for one server cannot be replayed against another.
4. **Batching removed.** JSON-RPC batching, added in March, was taken back out.

## Why it matters

Structured output and elicitation both push in the same direction: fewer places where the model fills a gap by guessing. A typed result removes one guess. A question back to the user removes another.

There is a third kind of guess that the protocol cannot remove. When a tool returns a column called `status` with the value `A`, the agent still has to work out what `A` means for this business. Typed output tells it the value is a string. It does not tell it the value means "active, under the finance definition, as of last month's close". That meaning has to be written down by the people who own it.

## Sources

1. [MCP specification 2025-06-18, key changes](https://modelcontextprotocol.io/specification/2025-06-18/changelog)
