Einen Prompt über den Client abrufen
Rufe nun einen bestimmten Prompt vom Currency-Server mit einer Nutzereingabe ab, damit die Vorlage und die Anfrage zusammengeführt werden. Das würdest du an ein LLM übergeben, bevor es entscheidet, ob es das Conversion-Tool aufruft.
Diese Übung ist Teil des Kurses
<Kurs>Einführung in das Model Context Protocol (MCP)</Kurs>Übungsanweisungen
- Rufe nach dem Initialisieren der Session die Methode auf, um einen Prompt per Namen zu holen. Übergebe den Prompt-Namen und ein
arguments-Dict mit der Eingabe der Nutzerin bzw. des Nutzers. - Extrahiere und gib den Textinhalt der ersten Nachricht im Prompt-Ergebnis aus.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def read_prompt(user_input: str = "How much is 50 GBP in euros?", prompt_name: str = "convert_currency_prompt") -> str:
"""Retrieve a prompt from the MCP server with user input."""
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()
# Retrieve the prompt with the user's input
prompt = await session.____(prompt_name, arguments={"currency_request": user_input})
# Print the full prompt text (template + user request)
text = prompt.____[0].____.____
print(text)
return text
asyncio.run(read_prompt(user_input="How much is 50 GBP in euros?"))