Criando seu primeiro servidor MCP

Introdução ao Model Context Protocol (MCP)

James Chapman

AI Curriculum Manager, DataCamp

Convertendo entre fusos horários

 

Servidor de fuso horário

1 https://opentimezone.com/
Introdução ao Model Context Protocol (MCP)

Fluxo de código MCP

Introdução ao Model Context Protocol (MCP)

Etapa 1: Instanciando o servidor

from mcp.server.fastmcp import FastMCP
import requests

# Crie uma instância do servidor MCP
mcp = FastMCP("Timezone Converter")
1 https://github.com/modelcontextprotocol/python-sdk
Introdução ao Model Context Protocol (MCP)

Etapa 2: Adicionando ferramentas

from mcp.server.fastmcp import FastMCP
import requests

# Crie uma instância do servidor MCP
mcp = FastMCP("Timezone Converter")

@mcp.tool()
def convert_timezone(date_time, from_timezone, to_timezone):
Introdução ao Model Context Protocol (MCP)

Etapa 2: Adicionando ferramentas

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

    # Defina o endpoint da API e formate os dados de entrada

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}"
Introdução ao Model Context Protocol (MCP)

Etapa 3: Docstrings e dicas de tipo

@mcp.tool()
def convert_timezone(date_time: str, from_timezone: str, to_timezone: str) -> str:
    """
    Converte uma data/hora de um fuso para outro.

    Args:
        date_time: String em formato ISO (ex.: '2025-01-20T14:30:00')
        from_timezone: Fuso de origem (ex.: 'America/New_York')
        to_timezone: Fuso de destino (ex.: 'Europe/London')

    Returns:
        Uma string com a data/hora convertida e o fuso horário
    """
Introdução ao Model Context Protocol (MCP)

Fluxo de código MCP

Introdução ao Model Context Protocol (MCP)

Vamos praticar!

Introdução ao Model Context Protocol (MCP)

Preparing Video For Download...