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!
Santa MCP fornisce tre strumenti speciali:
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!
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.
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!
- .NET 10.0 o superiore
- Un client MCP (es. GitHub Copilot, Claude Desktop, ecc.)
-
Clona il repository:
git clone <url-del-repo> cd santa-mcp
-
Compila il progetto:
dotnet build -c Release
-
Pubblica l'eseguibile:
dotnet publish -c Release -o publish
-
Configura il tuo client MCP (vedi esempi sotto)
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).
{
"servers": {
"santa-mcp": {
"type": "stdio",
"command": "/usr/local/share/dotnet/dotnet",
"args": [
"/percorso/assoluto/santa-mcp/publish/santa-mcp.dll"
]
}
},
"inputs": []
}{
"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/oC:\\percorso\\assoluto\\con il percorso effettivo della tua installazione - Il comando
dotnetdeve puntare all'eseguibile del runtime .NET sul tuo sistema - Assicurati che GitHub Copilot sia abilitato per MCP nelle impostazioni di VS Code
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"
}
}
}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:
- LapponiaWeather - Ottiene le previsioni meteo per una localitΓ nella notte di Natale dell'anno corrente
- NaughtyOrNiceEvaluator - Valuta se un bambino Γ¨ stato cattivo o buono e suggerisce una categoria di regalo appropriata
- 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! π
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
Per aggiungere un nuovo strumento:
- Crea una nuova classe nella cartella
Tools/ - Aggiungi l'attributo
[McpServerToolType]alla classe - Aggiungi l'attributo
[McpServerTool]ai metodi che vuoi esporre - 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";
}
}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!
Questo progetto Γ¨ distribuito con licenza libera. Sentiti libero di usarlo, modificarlo e condividerlo!
π Buon Natale e buon coding! π