Budowanie pierwszego serwera MCP

Wprowadzenie do Model Context Protocol (MCP)

James Chapman

AI Curriculum Manager, DataCamp

Konwersja stref czasowych

 

Schemat serwera stref czasowych

1 https://opentimezone.com/
Wprowadzenie do Model Context Protocol (MCP)

Schemat kodu serwera MCP

Wprowadzenie do Model Context Protocol (MCP)

Krok 1: Tworzenie instancji serwera

from mcp.server.fastmcp import FastMCP
import requests

# Create an MCP server instance
mcp = FastMCP("Timezone Converter")
1 https://github.com/modelcontextprotocol/python-sdk
Wprowadzenie do Model Context Protocol (MCP)

Krok 2: Dodawanie narzędzi

from mcp.server.fastmcp import FastMCP
import requests

# Create an MCP server instance
mcp = FastMCP("Timezone Converter")

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

Krok 2: Dodawanie narzędzi

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

    # Define the API endpoint and format input data

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}"
Wprowadzenie do Model Context Protocol (MCP)

Krok 3: Docstringi i adnotacje typów

@mcp.tool()
def convert_timezone(date_time: str, from_timezone: str, to_timezone: str) -> str:
    """
    Convert a datetime from one timezone to another.

    Args:
        date_time: The datetime string in ISO format (e.g., '2025-01-20T14:30:00')
        from_timezone: Source timezone (e.g., 'America/New_York')
        to_timezone: Target timezone (e.g., 'Europe/London')

    Returns:
        A string with the converted datetime and timezone information
    """
Wprowadzenie do Model Context Protocol (MCP)

Schemat kodu serwera MCP

Wprowadzenie do Model Context Protocol (MCP)

Czas na ćwiczenia!

Wprowadzenie do Model Context Protocol (MCP)

Preparing Video For Download...