Feedback

Chat Icon

Practical MCP with FastMCP & LangChain

Engineering the Agentic Experience

Primitives, Capabilities & Utilities in MCP
15%

Progress (Client & Server Side)

The progress feature allows for asynchronous updates on long-running operations. It enables a receiver (usually a server) to tell the sender (usually a client) how far along a task is before the final response is delivered.

Progress tracking is an opt-in feature that begins at the moment a request is made.

To receive updates, the sender must include a progressToken inside a _meta object in the request parameters. This token is an opaque string that uniquely identifies the operation for which progress updates are being requested. The receiver will use this token to correlate progress notifications with the original request.

For example, a client might send the following request to start a long-running operation:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "_meta": {
      "progressToken": "xyz123",
    },
    "name": "longRunningTask",
    "arguments": {}
  }
}

The server will then process the request and send progress updates using the same progressToken:

{
  "jsonrpc": "2.0",
  "method": "notifications/progress",
  "params": {
    "progressToken": "xyz123",
    "progress": 10,
    "total": 100,
    "message": "Starting task..."
  }

Practical MCP with FastMCP & LangChain

Engineering the Agentic Experience

Enroll now to unlock current content and receive all future updates for free. Your purchase supports the author and fuels the creation of more exciting content. Act fast, as the price will rise as the course nears completion!