Crea il tuo primo server MCP

Introduzione al Model Context Protocol (MCP)

James Chapman

AI Curriculum Manager, DataCamp

Conversione tra fusi orari

 

Server di conversione fusi orari

1 https://opentimezone.com/
Introduzione al Model Context Protocol (MCP)

Diagramma del flusso del codice MCP

Introduzione al Model Context Protocol (MCP)

Passo 1: istanziare il server

from mcp.server.fastmcp import FastMCP
import requests

# Crea un'istanza del server MCP
mcp = FastMCP("Timezone Converter")
1 https://github.com/modelcontextprotocol/python-sdk
Introduzione al Model Context Protocol (MCP)

Passo 2: aggiungere gli strumenti

from mcp.server.fastmcp import FastMCP
import requests

# Crea un'istanza del server MCP
mcp = FastMCP("Timezone Converter")

@mcp.tool()
def convert_timezone(date_time, from_timezone, to_timezone):
Introduzione al Model Context Protocol (MCP)

Passo 2: aggiungere gli strumenti

@mcp.tool()
def convert_timezone(date_time, from_timezone, to_timezone):

    # Definisci l'endpoint API e formatta l'input

url = "https://api.opentimezone.com/convert" payload = {"dateTime": date_time, "fromTimezone": from_timezone, "toTimezone": to_timezone}
response = requests.post(url, json=payload)
data = response.json() converted_time = data.get('dateTime', 'N/A')
return f"Time in {to_timezone}: {converted_time}"
Introduzione al Model Context Protocol (MCP)

Passo 3: docstring e type hint

@mcp.tool()
def convert_timezone(date_time: str, from_timezone: str, to_timezone: str) -> str:
    """
    Converte una data/ora da un fuso orario a un altro.

    Args:
        date_time: Stringa datetime in formato ISO (es. '2025-01-20T14:30:00')
        from_timezone: Fuso di origine (es. 'America/New_York')
        to_timezone: Fuso di destinazione (es. 'Europe/London')

    Returns:
        Stringa con data/ora convertita e info sul fuso
    """
Introduzione al Model Context Protocol (MCP)

Diagramma del flusso del codice MCP

Introduzione al Model Context Protocol (MCP)

Ayo berlatih!

Introduzione al Model Context Protocol (MCP)

Preparing Video For Download...