Получение списка ресурсов на стороне клиента
Код сервера записан в файл currency_server.py и готов к подключению. Для начала создайте клиент, который сможет получить список доступных ресурсов этого сервера.
Это упражнение является частью курса
Введение в Model Context Protocol (MCP)
Инструкции к упражнению
- Внутри контекста сессии сервера получите список доступных ресурсов.
- Переберите элементы
response.resourcesи выведите URI, имя и описание каждого ресурса, обратившись к соответствующим атрибутам.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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())