# Istruzione Messina MCP

L’endpoint MCP autenticato di Istruzione Messina è https://istruzionemessina.it/mcp/connect. L’endpoint https://istruzionemessina.it/mcp resta pubblico. Richiedi la chiave API privatamente al gestore del sito.

## Autenticazione

Usa Authorization: Bearer <chiave> oppure x-api-key: <chiave>. Se invii entrambi, Authorization ha la precedenza. Non inserire la chiave nell’URL. Imposta MCP_CONNECT_API_KEY in modo sicuro nell’ambiente del client.

Solo lettura di contenuti pubblici: nessun accesso a dati privati, ordini o funzioni amministrative. Limite: 60 richieste al minuto per chiave. Chiave mancante o errata: 401 JSON. Limite superato: 429 JSON con Retry-After. La richiesta preliminare OPTIONS del browser non richiede la chiave. Usa POST; lo streaming GET non è supportato.

## Tool

- `list_public_content`: Elenca i contenuti dell’indice pubblico.
- `search_public_content`: Cerca nei contenuti pubblici; parametro query obbligatorio.
- `analyze_public_page`: Legge il testo pubblico e le statistiche di una pagina pubblicata; parametro path obbligatorio.

## Esempi

Streamable HTTP con risposte JSON, senza stato di sessione. Invia initialize, notifications/initialized, poi tools/list o tools/call. Non serve un ID di sessione.

### initialize

```sh
curl -i https://istruzionemessina.it/mcp/connect \
  -H "Authorization: Bearer $MCP_CONNECT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-06-18" \
  -A "OpenAI File Downloader, XaiImageApiFetch/1.0" \
  --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"docs-example","version":"1.0.0"}}}'
```

### notifications/initialized

```sh
curl -i https://istruzionemessina.it/mcp/connect \
  -H "Authorization: Bearer $MCP_CONNECT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-06-18" \
  -A "OpenAI File Downloader, XaiImageApiFetch/1.0" \
  --data '{"jsonrpc":"2.0","method":"notifications/initialized"}'
```

### tools/list

```sh
curl -i https://istruzionemessina.it/mcp/connect \
  -H "Authorization: Bearer $MCP_CONNECT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-06-18" \
  -A "OpenAI File Downloader, XaiImageApiFetch/1.0" \
  --data '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
```

### tools/call

```sh
curl -i https://istruzionemessina.it/mcp/connect \
  -H "Authorization: Bearer $MCP_CONNECT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-06-18" \
  -A "OpenAI File Downloader, XaiImageApiFetch/1.0" \
  --data '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"search_public_content","arguments":{"query":"matrice"}}}'
```
