I’m building Agent-Ready Engineering, an open source framework for designing and assessing business interfaces that agents will call. The unit I want to assess is a business operation and the contract it exposes through MCP or an API.
Take a ticket system with a tool called close_ticket. The tool is discoverable, its inputs have a schema, and the model knows how to call it. What happens when the caller lacks approval, the ticket has changed since it was read, or the server commits the update and the connection drops before the response arrives?
The operation contract template turns those questions into checks for the service: My proposed acceptance test for the ticket interface is to drop the response after a committed write, then check that a caller can establish the outcome and that replay with the same key produces only one change. This is a test of the interface’s contract, so it can be exercised with an ordinary client.
If you maintain an MCP server or an API used by agents, which of these guarantees do you expose today? I’d like to compare one public tool schema or operation contract with another builder and see which changes would make it easier for agents to use reliably.