1. Initialize a new TypeScript/Node.js project.
2. Install dependencies: `@modelcontextprotocol/sdk`, `zod@3`, and transport-specific packages (express or none).
3. Configure TypeScript with ES modules support.
4. Set up the MCP server using the `McpServer` class and choose the appropriate transport.
5. Implement at least one tool with proper schema validation using zod.
6. Implement error handling and validation.
7. Add optional resources and prompts.
8. Test the server and tools.