User GuidesDesign-First MCP

Design-First MCP

Design-first MCP means defining a Model Context Protocol (MCP) server’s contract — its tools, resources, and prompts — before writing any implementation, then validating that design and serving it as a runnable mock. Rather than build an MCP server and document it afterward, you agree on the tool surface up front, mock it, test it, and implement the backend against a contract that is already proven. In A²D the design is the source of truth.

Design-first is the approach; MCP mocking is how the design becomes a working endpoint. Use them together.

Why design MCP servers first

MCP clients and agents couple tightly to a server’s tool schemas. Designing first de-risks that coupling:

  • Contract agreement early — client and server teams align on tools before code.
  • Parallel development — clients build against the mock while the server is implemented.
  • Shift-left quality — validate the spec against rules before any logic exists.
  • No drift — the mock and, later, the implementation both trace to one spec.

The design-first MCP workflow

  • Design the MCP server: tools with input schemas, resources, and prompts.
  • Validate it against organization design rules.
  • Mock each tool with scenarios so the server runs before it is built.
  • Test with suites across Mock, Pre-prod, and Prod environments.
  • Publish the validated spec to Anypoint Exchange when ready.
{
  "tool": "get_customer",
  "inputSchema": {
    "type": "object",
    "properties": { "id": { "type": "string" } },
    "required": ["id"]
  }
}

Output schemas complete the contract

Design-first is strongest when responses are typed too. Add output schemas so tool results match the real contract shape — see Structured content. Clients can then rely on response shapes from day one.


Next Steps


Prove the contract before the code — design, validate, and mock MCP servers first. 🧩