Advanced·Concept·2 min read

Interview Preparation, Quiz, and Practice Plan

Practice this question

Pending foundation exercise

An existing Express backend has GET /orders/:id. Answer these questions before checking the guide:

  1. Should the MCP server rewrite the entire order backend?
  2. Which existing functionality can the lookup_order tool reuse?
  3. Where should authorization be enforced to prevent a user from accessing another customer's order?

Four-question quiz

  1. What is the difference between a host, client, and server?
  2. If the model generates a tool-call request, who has final control over execution?
  3. When would you choose a resource instead of a tool, and vice versa?
  4. Why is it risky to assume an optional feature is available without capability negotiation?

Interview question ladder

Beginner

  • What does MCP standardize?
  • What are the roles of tools/list and tools/call?
  • What is the difference between stdio and Streamable HTTP?

Intermediate

  • How would you reuse an existing service layer in MCP?
  • Why are structured outputs and output schemas useful?
  • What is the difference between a tool error and a protocol error?

Advanced

  • Design authentication for a multi-tenant remote server.
  • How would you protect action execution against prompt injection in a malicious resource?
  • How would you handle a large tool catalog and prevent loops in a multi-server host?

Answer framework

  1. State the problem and the boundary.
  2. Explain the request flow.
  3. Identify trust and authorization decisions.
  4. Cover failure handling and observability.
  5. Mention trade-offs and alternatives.

Official references

Final revision sheet

  • MCP is a protocol layer, not an agent or a security boundary.
  • Initialize first; use only negotiated capabilities.
  • Tools perform actions, resources provide context, and prompts provide reusable message templates.
  • Use stdio locally and Streamable HTTP for remote servers when appropriate.
  • Keep adapters thin and reuse services and repositories.
  • Validate every input and output; authorize every protected object.
  • Approval, least privilege, audit logs, timeouts, and idempotency protect actions.
  • Test protocol behavior, transport behavior, security, and model orchestration separately.
  • The current TypeScript SDK v2 uses split server/client packages; recognize v1 tutorials as legacy.
Adapted from 20_MCP_SERVER.md · “18. Interview Preparation, Quiz, and Practice Plan”. Code examples are study fragments. Difficulty and core labels are editorial estimates; version-specific behavior should be checked against your project.