Get startedGet started for free

Listing Resources from the Client

Your server has been written to the file currency_server.py, and is now ready to connect to! To start with, create a client that can list the resources available on this server.

This exercise is part of the course

Introduction to Model Context Protocol (MCP)

View Course

Exercise instructions

  • Inside the server session context, retrieve the available resources.
  • Loop through response.resources and print each resource's URI, name, and description using their attributes.

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def list_resources():
    """List all available resources from the MCP server."""
    params = StdioServerParameters(command=sys.executable, args=["currency_server.py"])

    async with stdio_client(params) as (reader, writer):
        async with ClientSession(reader, writer) as session:
            await session.initialize()
            # Get the list of resources
            response = ____ ____()

            print("Available resources:")
            # Print each resource's URI, name, and description
            for resource in response.____:
                print(f" - {resource.____}")
                print(f"   Name: {resource.____}")
                print(f"   Description: {resource.____}")

            return response.resources

asyncio.run(list_resources())
Edit and Run Code