Add Progress Bars and Logging Notifications to Your MCP Server
I’ll explain how these MCP features work with an example using FastMCP and Cursor.
MCP Progress
MCP Logging
This video is part of my MCP for developer’s series.
Check out the video on YouTube
Timestamps
0:49 - How MCP Progress Works
1:57 - How MCP Logging Works
3:23 - MCP Progress Example Code Explanation
6:29 - MCP Progress Demo with Cursor
8:25 - MCP Progress Demo with the MCP Inspector
10:10 - MCP Logging Demo
13:53 - MCP Logging VS Application Logging
17:33 - fast-agent MCP Progress Demo
Topics from this week’s video
Intro
Demonstrate how to add progress tracking and logging to an MCP server
Part of the MCP for Developers series (playlist includes elicitation, sampling, tools, prompts, resources)
What Progress Tracking Is
Allows MCP servers to report long-running operation progress to clients
Uses JSON-RPC notifications such as
notification/progressExample workflow:
Server sends progress:
1/10 → 2/10 → 3/10 ...Client (e.g., Claude Desktop or Cursor) displays status to the user
What Logging Is
MCP includes log levels: debug, info, warning, error
Logs are messages sent from server → client, not internal server logs
Server Example (Fast MCP)
Demo server processes a CSV file listing recipe parameters
Simulates making many API requests (Italian meal, Mexican meal, etc.)
Each iteration:
Logs info messages
Updates progress using
ctx.report_progress
Cursor Demonstration
Configure vegan-recipes MCP server inside Cursor
Cursor shows progress indicator (5, 6, 7, 8…)
Logs do not appear → Cursor hasn’t implemented logging yet
Model Context Protocol Inspector Demo
Use
npx @modelcontextprotocol/inspectorto inspect server behaviorRun server through inspector with automatic command injection
Displays:
notification/messagelogs (info)notification/progressupdates (e.g., “3 of 12”)
Local Logging (Server-Side Only)
Useful for logs that should not be sent to the MCP client
Fast MCP utility logger via
from fastmcp.utilities.logging import get_logger
Just make the decision. You won’t get it right the first try.
Russell Pollari

