MCP / Agent / Skill / Harness
Una mappa editoriale di concetti legati alle applicazioni agentiche
MCP, Agent, Skill e Harness descrivono aspetti distinti delle applicazioni agentiche: scambio del contesto, esecuzione, istruzioni riutilizzabili e runtime host. Questa lettura in quattro parti è un modello editoriale di Aphrodite, non un’architettura universale né l’affermazione che ogni prodotto li implementi.
Ultima verifica: . Architettura MCP attuale (2026-07-28).
- Claude Code
- Harness
- Skill
- Agent
- Tool
- MCP
- Strumenti / Dati Est.
MCP - Model Context Protocol
Protocollo dello Strato di ConnessioneMCP è un protocollo client-server aperto per scambiare contesto tra applicazioni IA e sistemi esterni. L’host coordina i client e i server espongono strumenti, risorse e prompt autorizzati. MCP non definisce training, inferenza o il ciclo di ragionamento interno di un Agent.
Cos’è l’MCP?
MCP è un protocollo di comunicazione che definisce come l’IA può:
- Richiedere l’esecuzione di un’operazione
- Ottenere dati esterni
- Interagire con applicazioni locali
Come funziona
- Un client MCP si collega a un processo locale o servizio remoto
- Client e server scambiano richieste, risposte e notifiche JSON-RPC
- Il server accede a strumenti, risorse o prompt autorizzati
- Il client espone il risultato normalizzato al modello o all’interfaccia host
Esempio di configurazione
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Projects"]
},
"git": {
"command": "uvx",
"args": ["mcp-server-git", "--repository", "/Users/you/Projects/example"]
}
}
} In Windows può essere necessario richiamare npx tramite cmd /c. I percorsi di configurazione variano tra Claude Desktop, Claude Code, Codex e Cursor. Verificato il 2026-07-29 rispetto al repository MCP ufficiale.
Server di riferimento ufficiali
Server di riferimento del comitato direttivo (repository ufficiale):
- Everything
- Fetch
- Filesystem
- Git
- Memory
- Sequential Thinking
- Time
Sono implementazioni didattiche e di riferimento, non necessariamente pronte per la produzione. Usa il MCP Registry per trovare server di terze parti e valuta identità dell’editore, autorizzazioni, sicurezza e manutenzione prima di adottarli. I server archiviati e quelli di fornitori o community appartengono a categorie distinte.
Agent - Agente IA
Strato di Esecuzione dei CompitiL’Agent è un sistema IA in grado di pianificare ed eseguire autonomamente compiti complessi. A differenza di un semplice sistema di domande e risposte, l’Agent può: comprendere gli obiettivi → fare piani → intraprendere azioni → valutare i risultati → adattare la strategia.
Capacità fondamentali
- Comprendere istruzioni complesse
- Suddividere compiti grandi in piccoli passi
- Decidere autonomamente i passi successivi
- Utilizzare strumenti per completare le operazioni
- Apprendere dai risultati dell’esecuzione
Esempio di utilizzo
Esempio di Conversazione con Claude Agent
Utente: Aiutami a rifattorizzare la gestione degli errori in questo progetto
Claude Agent:
Ti aiuto a rifattorizzare la gestione degli errori. Lasciami prima analizzare la struttura attuale del codice…
- Scansionare il codice di gestione degli errori nel progetto
- Identificare i pattern ripetuti
- Progettare un approccio unificato alla gestione degli errori
- Implementare la rifattorizzazione modulo per modulo
- Eseguire i test per assicurarsi che nulla sia compromesso
[L’Agent esegue autonomamente tutti i passaggi sopra indicati]
vs GitHub Copilot
Claude Code e GitHub Copilot offrono entrambi programmazione agentica e revisione del codice nel terminale o nell’IDE. Conferma delle autorizzazioni, sandbox, scelta del modello, attività cloud asincrone e supporto MCP variano secondo prodotto, client e versione. Distingui la revisione locale da quella delle pull request e consulta la documentazione aggiornata.
Ultima verifica: . Fonti: Documentazione Claude Code · Funzioni di GitHub Copilot.
Skill - Estensione delle Capacità
Strato di Potenziamento delle CapacitàSkill è un insieme di istruzioni, script e risorse che un agente carica su richiesta per un compito specializzato. Il formato SKILL.md è pubblicato e non è legato a un solo prodotto: Claude Code è uno degli host che le caricano. Attraverso le Skill è possibile: definire comandi comuni, incapsulare flussi di lavoro complessi, aggiungere conoscenza di dominio.
Tipi di Skill
- Skill personali: in
~/.claude/skills/, riutilizzabili tra progetti - Skill di progetto: in
.claude/skills/, condivise nel repository - Skill plugin: fornite dai plugin installati
- Funzioni integrate: dipendono dalla versione; verificare con
/help
Esempio di definizione
--- name: component-docs description: Generate documentation for Vue components. Use when the user asks to document a component or component library. ---
Component documentation
- Inspect component props, emits, slots, and dependencies.
- Generate a usage example.
- Document accessibility and edge cases.
- Link to related components.
Path: ~/.claude/skills/component-docs/SKILL.md
Come utilizzare
- Crea una cartella con un
SKILL.mdcompleto in~/.claude/skills/<name>/o.claude/skills/<name>/ - Includi i campi YAML
nameedescriptionmostrati sopra - Descrivi l’attività o cita il nome della Skill; non presumere che esista un comando integrato non documentato
- Esegui
/helpe consulta la documentazione attuale per i comandi della versione
Comandi integrati
I nomi delle funzioni integrate di Claude Code possono cambiare con la versione. Esegui /help o consulta il riferimento aggiornato dei comandi. Anche le Skill personali, di progetto e dei plugin possono esporre comandi /skill-name.
Harness - Scaffolding per Agenti
Strato di Esecuzione HostQui Harness è un termine editoriale per il runtime host che circonda un modello o un Agent. Può combinare istruzioni di sistema, cicli di strumenti, stato della sessione, memoria, permessi e integrazioni, ma ogni prodotto definisce diversamente questo confine e non richiede tutti i componenti mostrati.
Capacità fondamentali
- Assembla system prompt e loop strumenti
- Mantiene il contesto di sessione e la memoria a lungo termine
- Carica e pianifica Skill e server MCP
- Fornisce permessi, sandbox e log
- Si ospita in più forme (CLI, plugin IDE, daemon, serverless)
Anatomia di un Harness
Anatomia di un Harness minimo (Claude Code come esempio)
- system prompt → CLAUDE.md / briefing del repository
- tool loop → Read/Edit/Bash/Grep (set strumenti integrato)
- MCP clients → server esterni via config mcpServers
- skills → ~/.claude/skills/*.md (caricati su richiesta)
- runtime → REPL terminale / plugin VS Code / daemon gateway
Altre implementazioni di Harness:
- Codex CLI (openai/codex) — Harness terminale scritto in Rust
- OpenClaw — Harness gateway multi-canale multipiattaforma
- Hermes Agent — Harness con loop di apprendimento integrato
- Cursor Agent — Harness integrato nell’IDE
Come si Articolano i Quattro
MCP + Agent
MCP + Agent: L’Agent utilizza il protocollo MCP per chiamare strumenti esterni. Ad esempio: quando l’Agent deve leggere/scrivere file, lo fa tramite il server filesystem MCP.
Agent + Skill
Agent + Skill: Le Skill sono i «pacchetti di abilità» dell’Agent. Quando l’utente invoca una Skill specifica, l’Agent utilizza i corrispondenti template di prompt e flussi di lavoro.
Skill + MCP
Skill + MCP: Le Skill possono incapsulare chiamate MCP complesse. Ad esempio: una «Skill di Deploy» potrebbe chiamare gli strumenti MCP di Git + Docker + CLI.
Harness + i tre
Harness + i tre: L’Harness è l’host che assembla MCP/Agent/Skill. Modificare un file di config Harness (es. claudedesktopconfig.json) è come ricablare l’host; scrivere una nuova Skill è come collegare un nuovo strumento all’host. Claude Code, Codex CLI e Cursor Agent sono tutti istanze di questo pattern «host + trio».
MCP è il protocollo sottostante, che permette all’Agent di comunicare con il mondo esterno
Agent è l’entità esecutrice, che pianifica ed esegue i compiti in base alle esigenze dell’utente
Skill è l’estensione delle capacità, che rende i compiti specifici più efficienti e professionali
Harness è lo strato di esecuzione host che integra i tre in un agente funzionante
Questi concetti interagiscono spesso, ma non sono uno stack obbligatorio né una gerarchia di dipendenze rigida. Confini e implementazioni variano tra prodotti.