Blog

Conversational products need stronger boundaries than chat

MCP and app platforms make tools easier for AI assistants to reach. Good products still need explicit permissions, previews and recovery around every consequential action.

A product lead and integration engineer mapping connections between business systems at a workshop table.

Conversational interfaces are becoming an application surface. OpenAI's Apps SDK, introduced in 2025 and built on the Model Context Protocol, lets developers connect chat experiences to external tools and data and provide interactive interfaces inside a conversation. MCP itself defines a common way for clients to discover and invoke those capabilities.

The opportunity is not simply to put an existing screen behind a chat box. It is to let a person express intent while the product handles context, proposes a safe action and preserves control.

Design tools as contracts

An agent-facing tool needs a narrower, clearer contract than a general internal API. Give it one understandable purpose, typed inputs, bounded output and predictable errors. Separate read operations from writes. Avoid a generic "run action" tool whose meaning changes with a string parameter.

Names and descriptions are part of the control system because the model uses them to choose what to call. Test ambiguous requests and near-matches. Validate every input on the server; model output is untrusted input, even when it came from your own prompt.

Scope authority to the user's intent

Authentication proves an identity. It does not prove that every available action is appropriate for the current request. Authorisation must remain in the service that owns the data and action.

Use least privilege, short-lived grants and resource-specific scopes. Bind operations to the authenticated user or organisation. Do not allow a conversation to widen its authority merely because it learned that another resource exists.

MCP's HTTP authorisation model builds on established OAuth mechanisms. That is useful infrastructure, not a complete permission experience. The interface must still explain what will be shared and why.

Preview consequential writes

Sending a message, submitting an order, deleting a file and changing access are different from fetching a status. Before a consequential write, show a human-readable preview based on server-validated parameters. Make the target, effect and reversibility explicit.

Confirmation should not be an indiscriminate extra click. Reserve it for material consequences or ambiguity. Low-risk reversible work can proceed with a clear undo path.

Expect partial failure

A conversational flow may call several services. The first can succeed while the second times out. Design idempotency keys, retries and compensation before launch. Tell the user what completed and what did not; never translate a partial failure into a confident success message.

Retain an audit trail that connects user intent, approved parameters, tool calls and outcomes without storing unnecessary private conversation. Give support teams a way to reconstruct the transaction.

Keep a visual interface for precision

Conversation is good for discovery, explanation and loosely structured intent. Dense comparison, exact selection and review often work better visually. The strongest products combine both: chat narrows the problem, then a purpose-built interface helps the person inspect and commit.

An assistant becomes trustworthy when its limits are visible. The product should make the safe action easy, the dangerous action deliberate and the uncertain state honest.

Sources

Bring us the whole project or the hardest part.

Tell us what the product or system needs to achieve, where the main risks are, and what has made it difficult.