Skip to content

intresrl/SantaClausMCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ… Santa MCP

Santa MCP Γ¨ un server MCP (Model Context Protocol) a tema natalizio che aggiunge strumenti magici a tema Babbo Natale al tuo assistente AI. Perfetto per aggiungere un tocco festivo alle tue conversazioni con GitHub Copilot o altri client MCP!

🎁 Cosa fa?

Santa MCP fornisce tre strumenti speciali:

1. 🌨️ LapponiaWeather

Restituisce le previsioni meteo per qualsiasi localitΓ  nella magica notte di Natale (24-25 dicembre). Scopri se Babbo Natale avrΓ  condizioni ideali per il volo!

2. πŸ˜‡ NaughtyOrNiceEvaluator

Valuta se un bambino Γ¨ stato buono o cattivo durante l'anno e suggerisce una categoria di regalo appropriata. Include un database con comportamenti registrati per vari bambini.

3. 🦌 SleighRouteOptimizer

Ottimizza il percorso di consegna della slitta di Babbo Natale tra diverse cittΓ . Calcola la distanza totale, il tempo stimato, il consumo di polvere magica e il team di renne necessario!

πŸš€ Come usarlo

Prerequisiti

  • .NET 10.0 o superiore
  • Un client MCP (es. GitHub Copilot, Claude Desktop, ecc.)

Installazione

  1. Clona il repository:

    git clone <url-del-repo>
    cd santa-mcp
  2. Compila il progetto:

    dotnet build -c Release
  3. Pubblica l'eseguibile:

    dotnet publish -c Release -o publish
  4. Configura il tuo client MCP (vedi esempi sotto)

πŸ™ Configurazione per GitHub Copilot

Per usare Santa MCP con GitHub Copilot in VS Code, crea o modifica il file mcp.json nella directory ~/Library/Application Support/Code - Insiders/User/ (o Code/User/ se usi VS Code stabile).

macOS/Linux:

{
    "servers": {
        "santa-mcp": {
            "type": "stdio",
            "command": "/usr/local/share/dotnet/dotnet",
            "args": [
                "/percorso/assoluto/santa-mcp/publish/santa-mcp.dll"
            ]
        }
    },
    "inputs": []
}

Windows:

{
    "servers": {
        "santa-mcp": {
            "type": "stdio",
            "command": "C:\\Program Files\\dotnet\\dotnet.exe",
            "args": [
                "C:\\percorso\\assoluto\\santa-mcp\\publish\\santa-mcp.dll"
            ]
        }
    },
    "inputs": []
}

Note:

  • Sostituisci /percorso/assoluto/ o C:\\percorso\\assoluto\\ con il percorso effettivo della tua installazione
  • Il comando dotnet deve puntare all'eseguibile del runtime .NET sul tuo sistema
  • Assicurati che GitHub Copilot sia abilitato per MCP nelle impostazioni di VS Code

Altre configurazioni MCP

Per altri client MCP (come Claude Desktop), aggiungi al file di configurazione MCP (solitamente ~/Library/Application Support/Claude/claude_desktop_config.json su macOS):

{
  "mcpServers": {
    "santa-mcp": {
      "command": "/percorso/assoluto/santa-mcp/publish/santa-mcp"
    }
  }
}

πŸŽ„ Esempio di conversazione

Ecco una conversazione ideale con Santa MCP tramite GitHub Copilot:


πŸ‘€ Utente: Sai elencarmi i tool di santa mcp che hai a disposizione?

πŸ€– Copilot: Certo! Ho a disposizione questi strumenti di Santa MCP:

  1. LapponiaWeather - Ottiene le previsioni meteo per una localitΓ  nella notte di Natale dell'anno corrente
  2. NaughtyOrNiceEvaluator - Valuta se un bambino Γ¨ stato cattivo o buono e suggerisce una categoria di regalo appropriata
  3. SleighRouteOptimizer - Ottimizza il percorso di consegna della slitta di Babbo Natale tra diverse cittΓ , calcolando distanza, tempo e consumo di polvere magica

πŸ‘€ Utente: Puoi dirmi il tempo di LapponiaWeather per Milano?

πŸ€– Copilot: Meteo per Milano nella notte di Natale 2025 (24-25 dicembre): Luna piena e neve fresca, temperatura -10Β°C, paesaggio da favola - notte da cartolina! πŸŒ•


πŸ‘€ Utente: E su Roma?

πŸ€– Copilot: Meteo per Roma nella notte di Natale 2025 (24-25 dicembre): Nevicata leggera, temperatura -5Β°C, vento calmo - perfetto per la slitta di Babbo Natale! ❄️


πŸ‘€ Utente: Mi dai una valutazione su Bob?

πŸ€– Copilot: Ecco la valutazione di Bob:

{
  "child": "Bob",
  "locality": "Rovaniemi, Lapponia",
  "year": 2025,
  "score": 65,
  "verdict": "mostly-nice",
  "emoji": "😊",
  "recommendedGiftCategory": "educational-toys",
  "behaviorSummary": "Analizzati 5 comportamenti registrati",
  "message": "πŸ‘ Ben fatto Bob! Continua cosΓ¬ per l'anno prossimo!",
  "weatherNote": "πŸ’‘ Suggerimento: usa LapponiaWeather con localitΓ  'Rovaniemi, Lapponia' per conoscere il meteo della notte di Natale!"
}

Bob Γ¨ stato prevalentemente buono! Ha avuto alcuni momenti difficili (ha rotto il vaso del vicino e mentito ai genitori), ma ha dimostrato maturitΓ  chiedendo scusa spontaneamente e aiutando un'anziana ad attraversare.


πŸ‘€ Utente: E Alice?

πŸ€– Copilot: Ho trovato due persone con il nome Alice nel database. Una Γ¨ nata nel 2015 a Milano e una nel 1984 a Roma. Quale Alice ti interessa?

[Dopo aver specificato l'anno di nascita]

Per Alice di Milano (nata nel 2015):

{
  "child": "Alice",
  "locality": "Milano, Italia",
  "year": 2025,
  "score": 82,
  "verdict": "nice",
  "emoji": "πŸ˜‡",
  "recommendedGiftCategory": "creative-toys",
  "behaviorSummary": "Analizzati 5 comportamenti registrati",
  "message": "🌟 Bravissima Alice! Babbo Natale è molto orgoglioso di te!",
  "weatherNote": "πŸ’‘ Suggerimento: usa LapponiaWeather con localitΓ  'Milano, Italia' per conoscere il meteo della notte di Natale!"
}

Alice Γ¨ stata bravissima! Ha aiutato la mamma, condiviso i giocattoli, fatto i compiti e persino pulito la cameretta senza che glielo chiedessero.


πŸ‘€ Utente: Parlami di Charlie invece... mi interessa anche sapere le previsioni del tempo per la sua localitΓ 

πŸ€– Copilot: Ecco le informazioni su Charlie:

Valutazione comportamento:

{
  "child": "Charlie",
  "locality": "New York, USA",
  "year": 2025,
  "score": 88,
  "verdict": "nice",
  "emoji": "πŸ˜‡",
  "recommendedGiftCategory": "premium-toys",
  "behaviorSummary": "Analizzati 5 comportamenti registrati",
  "message": "🌟 Bravissimo Charlie! Babbo Natale è molto orgoglioso di te!"
}

Meteo per New York nella notte di Natale: Nevicata leggera, temperatura -5Β°C, vento calmo - perfetto per la slitta di Babbo Natale! ❄️

Charlie è stato eccezionale quest'anno! Ha adottato un cane dal canile, fatto volontariato, organizzato una festa per un amico triste e condiviso la merenda. Merita davvero i regali premium! 🎁


πŸ› οΈ Sviluppo

Struttura del progetto

santa-mcp/
β”œβ”€β”€ Program.cs                      # Entry point del server MCP
β”œβ”€β”€ Tools/
β”‚   β”œβ”€β”€ LapponiaWeatherTool.cs     # Tool per il meteo natalizio
β”‚   β”œβ”€β”€ NaughtyOrNiceEvaluatorTool.cs  # Tool per valutare i bambini
β”‚   └── SleighRouteOptimizerTool.cs    # Tool per ottimizzare il percorso
β”œβ”€β”€ santa-mcp.csproj               # File di progetto
└── README.md                      # Questo file

Aggiungere nuovi strumenti

Per aggiungere un nuovo strumento:

  1. Crea una nuova classe nella cartella Tools/
  2. Aggiungi l'attributo [McpServerToolType] alla classe
  3. Aggiungi l'attributo [McpServerTool] ai metodi che vuoi esporre
  4. Usa [Description("...")] per descrivere il tool e i suoi parametri

Esempio:

using System.ComponentModel;
using ModelContextProtocol.Server;

namespace SantaMcp.Tools;

[McpServerToolType]
public class MioNuovoTool
{
    [McpServerTool]
    [Description("Descrizione del mio tool")]
    public static string MioMetodo(string parametro)
    {
        // La tua logica qui
        return "Risultato";
    }
}

πŸŽ… Crediti

Questo progetto Γ¨ stato creato per dimostrare l'uso del Model Context Protocol con .NET e per aggiungere un po' di magia natalizia alle conversazioni con AI!

πŸ“ Licenza

Questo progetto Γ¨ distribuito con licenza libera. Sentiti libero di usarlo, modificarlo e condividerlo!


πŸŽ„ Buon Natale e buon coding! 🎁

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors