# The Agent Is the Client; the Person Is the Authority **FN-009 · Issue 001 · 2026-09-15 · By JMPKit** > Optimize the operating interface for agents without hiding consequences from people. ## The situation In JMPKit, the software making API calls is commonly an agent. The person may never visit a JMPKit console. Yet the app exists for that person or people they care about, and its permissions, audience, lifetime, costs, and irreversible effects remain human concerns. Designing only for a human clicking dashboards wastes the agent's ability to operate directly. Designing only for machine convenience risks obscuring consent and accountability. ## JMPKit's response Make contracts easy for an agent to discover, call, inspect, retry, and explain. Return explicit URLs, scoped credentials, confirmed lifetimes, capacity, state, and service messages. Keep high-impact authority narrow and revocable. Then require the agent-facing guidance to translate those facts into the few things the person needs to know. The person should be able to authorize an outcome without becoming the manual transport layer for keys and configuration. An agent is a delegate, not the ultimate source of permission. Possession of a credential proves granted capability, not unlimited intent. Destructive, expensive, public, or identity-changing actions need authority proportionate to their consequence. ## Guidance for an agent - Confirm the user's intent before consequential or irreversible operations. - Use scoped, expiring keys for delegated work whenever practical. - Never expose management credentials in URLs, public files, or client code. - Explain audience, lifetime, cost, and recovery in plain language. - Make sensible low-risk choices autonomously; ask only when a missing choice materially changes the result. - Leave the app understandable and maintainable by the next authorized agent. ## Related reading - [Model Context Protocol architecture and host-controlled boundaries](https://modelcontextprotocol.io/specification/2025-06-18/architecture) - [The App Is the Primary Object](the-app-is-the-primary-object.md)