The main responsibilities of a Scrum Master are:
Process improvements
Ensures that the Team is fully functional and productive
Improve the lives of the Team by facilitating creativity and empowerment
Improve the productivity of the Team in any way possible
Improve the engineering practices and tools so that each increment of functionality is potentially shippable
Diplomacy
Enables close cooperation across all roles and functions and removes barriers
Remove the barriers between the Team and the Product Owner, so the Product Owner directly drives value production.
Coaching
Managing change
Manages impediments and obstacles
Maintains working agreements such as
Definition of Done
Definition of Ready
Team Working Agreements
Encourage effective communication
Conflict facilitation
Teaching others to be more effective at communication
Ensures that part-time team members are kept informed
Facilitating Iteration activities
Ensures that the process is followed
Logistics and facilitation associated with Daily Stand-up, Iteration Review, Iteration Planning, Backlog Refinement, and Iteration Retrospective as well as other meetings and events
Updating artifacts
Change agent for the organization