Passa al contenuto principale

Server MCP

Kiro Memory espone 10 strumenti attraverso il Model Context Protocol (MCP). Questi strumenti permettono agli assistenti AI di programmazione di cercare, archiviare e recuperare memorie in modo programmatico durante una sessione.

Avvio del server MCP

Il server MCP si avvia automaticamente quando invocato dal tuo editor. Puoi anche eseguirlo manualmente:

kiro-memory mcp

Questo avvia il server MCP utilizzando il trasporto stdio, che e lo standard per le integrazioni con gli editor.

Riferimento degli strumenti

Ricerca full-text tra osservazioni e riepiloghi utilizzando SQLite FTS5.

Parametri:

ParametroTipoObbligatorioPredefinitoDescrizione
querystringSi--Testo da cercare
projectstringNoautoFiltra per nome del progetto
typestringNoallFiltra per tipo di osservazione
limitnumberNo20Numero massimo di risultati da restituire

Tipi di osservazione: file-write, command, research, tool-use, constraint, decision, heuristic, rejected

Ritorna: Tabella formattata in Markdown con ID, tipo, titolo e data per ogni corrispondenza.

Esempio di utilizzo da parte di un assistente AI:

Cerchero nella tua memoria il lavoro precedente sull'autenticazione.
→ search({ query: "authentication", type: "file-write", limit: 10 })

Ricerca per similarita vettoriale utilizzando embedding locali. Trova osservazioni per significato anziche per parole chiave esatte.

Parametri:

ParametroTipoObbligatorioPredefinitoDescrizione
querystringSi--Query in linguaggio naturale
projectstringNoautoFiltra per nome del progetto
limitnumberNo10Numero massimo di risultati da restituire

Ritorna: Risultati classificati con punteggi di similarita e informazioni sulla fonte.

Esempio:

→ semantic_search({ query: "how to handle API rate limiting", limit: 5 })
informazioni

La ricerca semantica utilizza un approccio ibrido che combina la similarita vettoriale con la corrispondenza per parole chiave per ottenere i migliori risultati. Gli embedding vengono generati localmente -- non servono chiavi API.


timeline

Mostra il contesto cronologico attorno a una specifica osservazione. Utile per comprendere la sequenza di eventi prima e dopo una particolare azione.

Parametri:

ParametroTipoObbligatorioPredefinitoDescrizione
anchornumberSi--ID dell'osservazione come punto di riferimento
depth_beforenumberNo5Numero di osservazioni prima dell'ancora
depth_afternumberNo5Numero di osservazioni dopo l'ancora

Ritorna: Lista cronologica di osservazioni con l'osservazione ancora evidenziata. Ogni voce include timestamp, tipo, titolo e contenuto.

Esempio:

→ timeline({ anchor: 42, depth_before: 3, depth_after: 3 })

get_observations

Recupera i dettagli completi di osservazioni specifiche tramite i loro ID. Tipicamente usato dopo una search per ottenere il contenuto completo dei risultati rilevanti.

Parametri:

ParametroTipoObbligatorioDescrizione
idsnumber[]SiArray di ID delle osservazioni da recuperare

Ritorna: Markdown dettagliato per ogni osservazione, inclusi:

  • Tipo e progetto
  • Data di creazione
  • Contenuto completo e narrativa
  • Concetti associati (tag)
  • Percorsi dei file correlati

Esempio:

→ get_observations({ ids: [12, 45, 67] })

get_context

Recupera il contesto recente per un progetto: osservazioni, riepiloghi e prompt recenti. Questo e lo strumento principale per l'iniezione del contesto all'avvio della sessione.

Parametri:

ParametroTipoObbligatorioDescrizione
projectstringSiNome del progetto

Ritorna: Contesto formattato che include:

  • Riepiloghi recenti (apprendimenti a livello di sessione)
  • Osservazioni recenti (fino a 10, con tipo, titolo e timestamp)

Esempio:

→ get_context({ project: "my-app" })
suggerimento

Questo strumento viene richiamato automaticamente all'avvio della sessione dal sistema di hooks/regole. Generalmente non e necessario richiamarlo manualmente.


store_observation

Aggiunge una nuova osservazione alla memoria. Usato dagli hooks per catturare automaticamente scritture di file, comandi e ricerche durante una sessione.

Parametri:

ParametroTipoObbligatorioDescrizione
typestringSiTipo di osservazione: file-write, command, research, tool-use, constraint, decision, heuristic, rejected
titlestringSiBreve titolo descrittivo
contentstringSiContenuto dettagliato
conceptsstring[]NoTag/concetti correlati
filesstring[]NoPercorsi dei file correlati

Ritorna: Conferma con l'ID dell'osservazione assegnato.

Esempio:

→ store_observation({
type: "decision",
title: "Use Zod for validation",
content: "Chose Zod over Yup for schema validation due to TypeScript-first design",
concepts: ["validation", "typescript"],
files: ["src/schemas/user.ts"]
})

store_summary

Archivia un riepilogo di sessione che cattura cio che e stato appreso e realizzato. Viene richiamato automaticamente dall'hook Stop quando una sessione termina.

Parametri:

ParametroTipoObbligatorioDescrizione
requeststringSiCosa e stato richiesto/tentato
learnedstringNoIntuizioni chiave scoperte
completedstring[]NoLista delle attivita completate
nextStepsstring[]NoAzioni di follow-up consigliate

Ritorna: Conferma con l'ID del riepilogo assegnato.


store_knowledge

Archivia conoscenza strutturata come elemento di prima classe. La conoscenza persiste indipendentemente dalle sessioni e rappresenta decisioni architetturali, vincoli e linee guida.

Parametri:

ParametroTipoObbligatorioDescrizione
knowledge_typestringSiconstraint, decision, heuristic o rejected
titlestringSiBreve titolo descrittivo
contentstringSiSpiegazione dettagliata
projectstringSiNome del progetto
severitystringNoPer i vincoli: hard o soft
alternativesstring[]NoAlternative considerate
reasonstringNoPerche e stato scelto o scartato
contextstringNoQuando si applica (per le euristiche)
confidencestringNohigh, medium o low (per le euristiche)
conceptsstring[]NoTag correlati
filesstring[]NoPercorsi dei file correlati

Ritorna: Conferma con l'ID della conoscenza assegnato.

Esempio:

→ store_knowledge({
knowledge_type: "constraint",
title: "No external fonts",
content: "Must use system fonts only for GDPR compliance and performance",
project: "my-app",
severity: "hard",
concepts: ["gdpr", "performance", "fonts"]
})

resume_session

Riprende una sessione di sviluppo precedente recuperando i dati del checkpoint, inclusi la descrizione dell'attivita, il progresso, i prossimi passi e i file rilevanti.

Parametri:

ParametroTipoObbligatorioPredefinitoDescrizione
projectstringNoautoNome del progetto (rilevato automaticamente dall'ambiente)
session_idnumberNolatestID di sessione specifico (usa l'ultimo checkpoint se omesso)

Ritorna: Dati del checkpoint formattati:

  • Descrizione dell'attivita
  • Riepilogo del progresso
  • Prossimi passi come checklist
  • Domande aperte
  • Lista dei file rilevanti

Esempio:

→ resume_session({ project: "my-app" })

generate_report

Genera un report di attivita che riepiloga il lavoro di sviluppo in un periodo di tempo.

Parametri:

ParametroTipoObbligatorioPredefinitoDescrizione
projectstringNoautoNome del progetto (rilevato automaticamente)
periodstringNoweeklyPeriodo del report: weekly o monthly

Ritorna: Report in Markdown che include:

  • Panoramica (conteggio osservazioni, conteggio sessioni, arco temporale)
  • Riepiloghi delle sessioni
  • Apprendimenti chiave
  • Attivita completate
  • Prossimi passi
  • Top 10 degli hotspot sui file

Configurazione MCP specifica per editor

Claude Code

Claude Code scopre i server MCP attraverso la sua configurazione. Il comando kiro-memory install --claude-code registra il server automaticamente.

Configurazione manuale in .claude/mcp.json:

{
"mcpServers": {
"kiro-memory": {
"command": "kiro-memory",
"args": ["mcp"]
}
}
}

Cursor

Aggiungi a .cursor/mcp.json nella radice del tuo progetto:

{
"mcpServers": {
"kiro-memory": {
"command": "kiro-memory",
"args": ["mcp"],
"env": {}
}
}
}

Dopo aver aggiunto la configurazione, riavvia Cursor affinche il server MCP venga rilevato.

Windsurf

Aggiungi alla configurazione MCP di Windsurf:

{
"mcpServers": {
"kiro-memory": {
"command": "kiro-memory",
"args": ["mcp"],
"env": {}
}
}
}

Cline

Aggiungi alle impostazioni MCP di Cline (accessibili tramite le impostazioni dell'estensione Cline in VS Code):

{
"mcpServers": {
"kiro-memory": {
"command": "kiro-memory",
"args": ["mcp"],
"env": {}
}
}
}

Client MCP generico

Qualsiasi client che implementa la specifica MCP puo connettersi a Kiro Memory. Il server utilizza il trasporto stdio e si aspetta di essere invocato come:

kiro-memory mcp

Il server pubblica tutti i 10 strumenti con i relativi schema alla connessione tramite il metodo standard MCP tools/list.