Interview Preparation, Quiz, and Practice Plan
Pending foundation exercise
An existing Express backend has GET /orders/:id. Answer these questions before checking the guide:
- Should the MCP server rewrite the entire order backend?
- Which existing functionality can the
lookup_ordertool reuse? - Where should authorization be enforced to prevent a user from accessing another customer's order?
Four-question quiz
- What is the difference between a host, client, and server?
- If the model generates a tool-call request, who has final control over execution?
- When would you choose a resource instead of a tool, and vice versa?
- 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/listandtools/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
- State the problem and the boundary.
- Explain the request flow.
- Identify trust and authorization decisions.
- Cover failure handling and observability.
- Mention trade-offs and alternatives.
Official references
- MCP documentation: https://modelcontextprotocol.io/docs/
- MCP specification: https://modelcontextprotocol.io/specification/2026-07-28/
- TypeScript SDK v2: https://github.com/modelcontextprotocol/typescript-sdk
- TypeScript SDK documentation: https://ts.sdk.modelcontextprotocol.io/v2/
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.
Can you explain it without the notes?
Interview Preparation, Quiz, and Practice Plan
Use your own words. Explain an example and one limitation before checking the explanation.
Check your explanation
Pending foundation exercise
Turn this concept into a clear answer.
Practice this conceptYOUR NEXT STEP
You’ve reached the end of this guide.
Prepare for MCP Server with TypeScript interviewsAdapted from 20_MCP_SERVER.md · “18. Interview Preparation, Quiz, and Practice Plan”. Examples are study fragments; framework behavior can depend on your version.